背景:
随着软件业越来越发达,软件的功能和规模越来越大,软件测试的位置也会越来越重要,自动化测试的要求也会水涨船高,地位和薪资也会有所提升。近几年,软件测试工程师一度成为热门职业,本人作为测试员也是倍感压力,仅仅会手工测试的确会让职业生涯陷入瓶颈,于是工作之余充电,学习了自动化测试工具selenium,打算进阶中高级测试工程师。对于想学习selenium自动化测试的测试员们,首先还是要做一些准备工作,不打无准备的仗。
很多测试员的简历,基本都有自动化测试,基本都有selenium

但很少有人真正弄清selenium。一个是selenium的提供了很多组件,让人容易上手。二是selenium的更新伴随着工具的合并,很多人压根没高清自己用的是seleniumRC还是webdriver,也出现了各种问题,详述如下:
1、selenium工具组件
1.1selenium1,也称为seleniumRC或者RemoteControl。就是selenium的原本项目。RC是在浏览器启动后,使用js来驱动浏览器的操作。为什么叫RC呢?因为RC的设计是可以支持控制远程服务器上的seleniumserver来操作远程端的浏览器。
1.2selenium2,也称为seleniumwebdriver。webdriver原来是另一个自动化测试工具,后与selenium合并了。webdriver直接调用浏览器本身对自动化支持的接口来驱动浏览器的操作。故名思义,它将有不同的driver来驱动不同系统上不同的浏览器。
1.3seleniumIDE,这个是大家都明确的,以插件的形式安装在firefox,用于录制。
1.4selenium-grid,这个是对使用RC进行测试时,需要执行大量用例或分布式执行的时候,提供的框架,就是建立多个服务器的hub与node的关系而已。
简单说,selenium项目原本的工具是IDE、RC、grid。而webdriver确实功能强大,“他们”讨论讨论,就把它被并入selenium了。
2、工具包
目前selenium的包已升级到3.x,大概是16年下半年。常用的包如下:
2.1SeleniumStandaloneServer作为远程的服务,运行RC和webdriver。从3.x版本开始,RC不能直接运行,需要通过WebDriverBackedSelenium的接口。
2.2seleniumclient&webdriver:编写RC、webdriver代码需要的包。主要支持:java、c#、ruby、python、js。
2.3googlechromedriver:支持googlechrome的driver。有win、mac、linux版本。
2.4htmlUnitDriver:不使用具体的浏览器,而是在内存中运行。
2.5MozillaGeckoDriver:支持火狐浏览器的driver。有win、mac、linux版本
更多的包参考:http://www.seleniumhq.org/download/
3、选用工具
了解阶段:IDE+firefox
入门阶段:RC、webDriver+firefox
深入阶段:webdriver+testNG+googlechromedriver+一门编程语言
浏览器选用googlechrome主要是经验主观觉得selenium对firefox新版本的支持一直比较慢。而googlechrome的较稳定。
4、mac系统下googlechrome浏览器的路径配置
win系统的资料比较多,主要说下mac系统的问题。
在创建driver时,找不到浏览器路径,通常使用设定系统属性来实现。
而在mac系统下,使用googlechrome浏览器或firefox时,先下载对应的driver。在代码中配置driver的地址,再创建driver,例如:
System.setProperty("webdriver.chrome.driver","/Users/yp-tc-m-2933/Desktop/selejar/chromedriver");
WebDriverdriver=newChromeDriver();
亲测:firefox51.0.1(64位),mac10.10.5。创建firefoxdriver后直接崩溃。
5、元素定位与可测性
selenium提供了很丰富的元素定位工具。但总是会有找不到或者变更频繁的,导致元素定位失败。实际上,作为测试方,在系统设计时,就应该提出对页面测试的需求,在页面设计时,在页面元素中埋入测试属性值。这就降低了页面自动化的难度,不用把时间花在复杂的定位元素的过程中,并且最重要的是避免一旦页面修改,带来的脚本维护工作。这就提高了系统可测性。
6、后续
随着对测试开发的逐渐流行,测试人员的代码能力也在提升。在selenium的学习中,更需要掌握webdriver的api,探索selenium的更多特性。


了解了以上关于selenium的各种基本概念,接下来就是福利时间,小编为大家准备了4个秘籍,亲测120%有效哦!
秘籍1:Selenium理论知识掌握
在接触selenium工具之前,大概百度搜索了一下这款工具。网络很多理论知识,其实是一个用于Web应用程序测试的工具。通过模仿用户进行操作。建议大家搜索一下,一看就明白,不做多说。
秘籍2:脚本语言的掌握
不管进行手工测试还是自动化测试,都需要学会写脚本。而selenium是一款基于ui层面的自动化测试工具,于是在真正的学习selenium之前,掌握html、css(比如xpath选择器和css选择器的知识)、javascript(如jquery框架等等)这些知识都是必不可少的。这也会对像我这种学习Selenium人来说,充满挑战。
秘籍3:了解编程语言
对软件测试工程师来说,掌握一种如JAVA、C#、python的编程语言,快速的编写测试脚本,是一项加分项。同时Selenium工具支持多种语言编写的测试脚本。相较于QTP,虽然QTP对测试新人来说好掌握,但是面向对象语言和扩展性支持却不如selenium。除此之外,还有Junit单元测试框架,配合selenium工具进行测试,提高效率。
终极秘籍:京东电商项目自动化测试框架开发
资深大牛直播:如何快速升职加薪?《大型电商项目自动化测试框架开发》直播课,手把手教你如何快速独立进行自动化测试框架开发。6月28日,资深大咖陆小刚,真实京东项目!
一招缩短你与测试大咖间的距离,分分钟pick自动化测试不传之秘!

申请免费试听名额>>>点击此处

上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8052),我们将立即处理。

 
 
 
 
 
 
了解更多课程内容及课程安排,可咨询QQ 2852509883 或致电客服 400-821-0951(工作日9:00-17:30)
【看这里】技术交流、拓展人脉、领取福利欢迎加入博为峰网校大课堂>>>