实践selenium自动化时先要弄清的几件事

最近在招聘,很多同学的简历都有自动化测试,基本都有selenium但很少有人真正弄清selenium。一个是selenium的提供了很多组件,让人容易上手,然后很多人就没有然后了。二是selenium的更新伴随着工具的合并,很多人压根没高清自己用的是selenium RC 还是 webdriver。根据最近面试的情况,把很多同学在实践selenium的时候没弄清的问题总结了一下。详述如下:


  1、selenium 工具组件


  1.1 selenium2,也称为selenium webdriver。webdriver原来是另一个自动化测试工具,后与selenium 合并了。webdriver直接调用浏览器本身对自动化支持的接口来驱动浏览器的操作。故名思义,它将有不同的driver来驱动不同系统上不同的浏览器。


  1.2 selenium1,也称为seleniumRC或者Remote Control。就是selenium的原本项目。RC是在浏览器启动后,使用js来驱动浏览器的操作。为什么叫RC呢?因为RC的设计是可以支持控制远程服务器上的selenium server来操作远程端的浏览器。


  1.3 seleniumIDE,这个是大家都明确的,以插件的形式安装在firefox,用于录制。


  1.4 selenium-grid,这个是对使用RC进行测试时,需要执行大量用例或分布式执行的时候,提供的框架,就是建立多个服务器的hub与node的关系而已。


  简单说,selenium项目原本的工具是IDE、RC、grid。而webdriver确实功能强大,“他们”讨论讨论,就把它被并入selenium了。


  2、工具包


  目前selenium的包已升级到3.x,大概是16年下半年。常用的包如下:


  2.1 Selenium Standalone Server 作为远程的服务,运行RC和webdriver。从3.x版本开始,RC不能直接运行,需要通过WebDriverBackedSelenium的接口。


  2.2 selenium client & webdriver :编写RC、webdriver代码需要的包。主要支持:java、c#、ruby、python、js。


  2.3 google chrome driver:支持google chrome的driver。有win、mac、linux版本。


  2.4 htmlUnitDriver:不使用具体的浏览器,而是在内存中运行。


  2.5 Mozilla GeckoDriver:支持火狐浏览器的driver。有win、mac、linux版本

  更多的包参考:http://www.seleniumhq.org/download/


  3、选用工具


  了解阶段:IDE+firefox

  入门阶段:RC、webDriver+firefox

  深入阶段: webdriver+testNG+google chrome driver+一门编程语言

  浏览器选用google chrome 主要是经验主观觉得selenium对firefox新版本的支持一直比较慢。而google chrome的较稳定。


  4、mac系统下google chrome浏览器的路径配置


  win系统的资料比较多,主要说下mac系统的问题。


  在创建driver时,找不到浏览器路径,通常使用设定系统属性来实现。


  而在mac系统下,使用google chrome浏览器或firefox时,先下载对应的 driver。在代码中配置driver的地址,再创建driver,例如 :

  System.setProperty("webdriver.chrome.driver","/Users/yp-tc-m-2933/Desktop/selejar/chromedriver");

  WebDriverdriver=newChromeDriver();

  亲测:firefox 51.0.1 (64 位),mac 10.10.5。创建firefox driver后直接崩溃。


  5、元素定位与可测性


  selenium提供了很丰富的元素定位工具。但总是会有找不到或者变更频繁的,导致元素定位失败。实际上,作为测试方,在系统设计时,就应该提出对页面测试的需求,在页面设计时,在页面元素中埋入测试属性值。这就降低了页面自动化的难度,不用把时间花在复杂的定位元素的过程中,并且最重要的是避免一旦页面修改,带来的脚本维护工作。这就提高了系统可测性。


  6、后续


  随着对测试开发的逐渐流行,测试人员的代码能力也在提升。在selenium的学习中,更需要掌握webdriver的api,探索selenium的更多特性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值