最近经常有人提问,你如何理解和看待这个selenium?

针对这一问题,官网上已经给了很明确的答复:"浏览器的自动化操作,你想干嘛就干嘛.....就这么简单!"

Selenium automates browsers. That's it! What you do with that power is entirely up to you.

今天我自己也从头缕缕思路

selenium的projects包含如下几个方面:

1.Selenium IDE 、 2.Selenium Remote Control 、 3.Selenium Grid 、4.Selenium WebDriver

1. Selenium IDE作为Firefox上的一个插件,提供录制功能,个人观点,如果能手写代码,就不要用这个东西。

2. Selenium Remote Control是一个客户端/服务器系统,可以在本地或在其他电脑上控制Web浏览器,使用几乎任何编程语言和测试框架。

3. Selenium Grid 可以远程的控制到并在多个服务器上同时运行测试

4. Selenium WebDriver可以在本地或远程计算机上的驱动浏览器

简单的了解了selenium之后,看看到底selenium哪里适合你?

1. 如果你想做一个强健的、基于浏览器的回归测试

2.多环境下分发和扩展可运行的脚本

这时候就可以选择selenium webdriver, 你可以使用多种脚本语言来驱动浏览器,目前,Selenium WebDriver 已经正式弃用Selenium Remote Control,而Selenium Server 内置了网格功能。

Selenium WebDriver的优点:它将Webdriver的API融入了进来,让selenium有进一步的增强。Webdriver是一套面向对象的API。相比selenium1而言,Selenium WebDriver能够进行更有效的功能测试的覆盖,比如文件上传、下载,弹出窗和对话框的问题,同时也克服了webdriverSelenium RC的单主机同源策略的限制的问题。

如果你使用Java语言来调用selenium WebDriver,那么下面这些接口一定都应该熟悉一下:

AndroidDriver,ChromeDriver,EventFiringWebDriver,FirefoxDriver,HtmlUnitDriver,InternetExplorerDriver,PhantomJSDriver,RemoteWebDriver,SafariDriver

最常用的就应该是FirefoxDriver,扩展一下就应该是InternetExploreDriver和ChromeDriver和SafairyDriver.

如果你想进行一个扩展EventFiringWebDriver也是必不可少的。

吹吹的说起来

selenium WebDriver不过是一个自动化测试工具罢了,优点就是开源易用,支持多种语言,多种浏览器,对于selenium WebDriver的使用来说,无非是在了解其基本操作的API之后,将业务逻辑和功能测试执行流程转换为计算机可读的代码,来代替我们进行复杂重复的人工测试。我们之所以使用它,无非是它能够帮助我们完成任务,达到实际的工作目标。这是从使用者或者说一个程序员的角度来讲,只要熟读API,能够准确的分析页面的DOM,遇到不同的问题,都能想出实际的解决方案,我觉得这作为一个自动化工程师已经很优秀了。如果说这时候你非要做一个平台,能够实现各种功能,要有良好的架构,良好的延展性,稳定性,叫什么软件测试架构师在做的事情,然后非要把那些手动测试的人也拉入到自动化的team中来,然后人家不想学你这个自动化,因为没有编码基础,学起来很费劲,这时候你就说要做一个万能的平台,不需要手动测试去学写代码也能进行自动化测试。。。等等一丢丢的理由吧。。。这时候我想提一个问题,为什么自动化测试现在这么火,但是每个公司或者说每一个team都必须要有手动测试人员呢???答案是很唯一的,因为任何人也取缔不了手动测试人员的角色,既然存在了就肯定有存在的道理。平台固然要作,个人对自动化测试平台的理解是,没有万能的平台,只有适合你自己业务需求的平台,你想用这些功能,你添加进去就好了,对于一个系统的生命周期,我不去评论,因为经验还没到那么多,但是我想说,国内外真的有多少系统能用到7年以上呢?一个系统能做到百年不倒?是不是架构师这个职位就不需要招人填补空缺了呢?或者说,只需要这些架构师整天看着程序员们写代码就可以了呢?腾讯算是国内比较大的互联网公司了,拿腾讯QQ来说,这短短10几年,QQ似乎也做了4次较大版本的改动吧,尤其是第四次的重新架构,可谓是大换血吧,平均算下来,万能的平台靠谱吗?

话说回来,无论使用哪种工具,解决问题才是关键,企业不同于学校,不管你使用了什么样的方法,你能把问题解决掉,那么你就是成功的。最最重要的是看人们给自己的定位,我就见过那种就喜欢做手动测试的人,代码框架你放那,让他配置个参数直接跑就OK了,他会觉得你这个好麻烦,搞不懂,还是我自己点点吧。所以这个东西强求不得。对于自动化工程师的职业发展,也同样看自己的规划了,你可以选择做一名精通于某一个工具或者技术的工程师,你也可以选择做一个名气十足的架构师,这完全看个人的爱好,其实再好的架构,上面的代码还是需要工程师来写的,我还是那句话,各有各的价值,没有高低之分。

一点点个人偏见!

忠 信
对朋友忠诚,对朋友信义,是最可珍藏的汗青.以信义交友,人字是大写的,情谊是纯净的;以信义交友,才能感觉到每天的太阳都那么光彩照人,才能体会到生命的真实存在.

selenium简介-----如何理解selenium-WebDriver相关推荐

  1. selenium简介_什么是Selenium? Selenium简介

    selenium简介 什么是Selenium? (What is Selenium?) Selenium is a free Open source functional Testing tool u ...

  2. Python爬虫——Selenium 简介和下载

    文章目录 Python爬虫--Selenium 简介和下载 1.Selenium 简介 2.Selenium 下载安装 3.Selenium 简单使用 Python爬虫--Selenium 简介和下载 ...

  3. selenium简介,原理,优点,工作过程,定位方式

    1.selenium简介 selenium是一个用于web应用程序自动化测试工具,可以直接运行在浏览器,就行用户真正的在浏览器操作一样,支持的浏览器包括:IE,Firefox,Chrome,Safar ...

  4. Selenium简介以及selenium环境搭建

    一.Selenium简介 1.Selenium : 是一款用于Web应用程序测试的工具,它支持多平台.多语言.多浏览去实现自动化测试,支持IE.Chrome.Firefox等浏览器 2.架构:Java ...

  5. Selenium - 简介

    目录 selenium是什么? 应该具备的知识 Selenium功能特性 Selenium的局限性 Selenium与QTP比较 Selenium工具套件 Selenium集成开发环境(IDE) Se ...

  6. Selenium笔记(一)selenium简介、安装

    前言 招聘要求中,基本都要求selenium,在测试群里问了下,实际使用的并不多,好吧,为了找工作,下面开始学习selenium:首先参考官方文档,大概操作一遍,然后参考博客再操作一遍,最后在开源系统 ...

  7. selenium 操作 html 5,[Selenium] WebDriver 操作 HTML5 中的 video

    测试播放,停止播放 http://www.videojs.com/ 示例: package com.learningselenium.html5; import static org.junit.As ...

  8. selenium 简介

    Selenium 是一个用于Web 应用程序测试的工具,支持多平台,多浏览器,多语言去实现自动化测试.目前在Web 自动化领域应用越来越广泛. Selenium也是一款同样使用Apache Licen ...

  9. 移除Selenium的浏览器window.navigator.webdriver等20多个指纹特征

    Selenium特征指纹 一般Selenium自动打开浏览器后,会给其增加一些特征指纹,如下图: 怎样才能去掉这些特征呢? 有一种现成的nodejs库puppeteer-extra,这里面有一个ext ...

最新文章

  1. dex文件结构(二):dex文件加载基本原理
  2. chrome developer tools小技巧
  3. 0027-如何在CDH集群启用Kerberos
  4. FormatUtil
  5. python脚本运行一段时间后就停止了_CMD运行python程序自动暂停问题解决
  6. JS正则限制价格输入 0.01~ 99999.99
  7. iOS 检查指定日期是否在当前日期之前
  8. 计算机多重网络intnet,南昌大学计算机网络实验(全).doc
  9. python如何编辑pdf_python3.6 导入并编辑pdf 错误在哪里啊
  10. awk '/#BEGIN/,/#END/{next}1' 1是什么意思?-转
  11. 高等代数第3版下 [丘维声 著] 2015年版_书籍推荐 | 关于数学分析和高等代数
  12. Excel常用函数公式20例
  13. Java第四课:用类描述CPU速度和HardDisk容量
  14. 经典的java角色扮演,盘点2010年十大经典角色扮演类游戏合集
  15. 樱(桜) - 堀江由衣 (日语-中文-罗马)
  16. java todo注释_Java自定义注解
  17. mysql生成 my.cnf_mysql配置文件my.cnf一键生成工具
  18. ipa 安装包不用市场如果扫码下载安装 免费IOS安装API
  19. 在Windows7 系统上部署DNS服务器
  20. 结束进程导致桌面图标消失

热门文章

  1. 接口规范文档总结、接口管理工具推荐、如何写出完美的接口
  2. clouderaManager--------------知行教育大数据分析平台(三)
  3. 长程、中程、短程调度
  4. 振幅型空间光调制器为什么会改变相位?
  5. 2014 年最热门的国人开发开源软件TOP 100
  6. Visual C++编程实现摄像头视频捕捉
  7. drupal 7宝典_Drupal 7的新增功能?
  8. 卷积神经网络应用(虹膜识别)
  9. php 横拍还是竖拍,用手机摄影,横拍和竖拍有什么区别?
  10. 网络损伤仪可用于测试卫星通信