Selenium 是今朝用的最遍及的Web UI 自动化测试框架。 本系列文章,劳务派遣管理系统,将深入简出来讲授selenium 的用法。
selenium 的定名
selenium 的意思是 硒 (有点QTP 杀手的意思)
QTP mercury 是水银 硒可以反抗水银
QTP 今朝的价值是 三个单机版 十万人民币阁下, 越来越少的人用QTP了
什么是selenium
一套软件东西,用来支持差异的自动化测试要领
开源软件:可以按照需要来增加重构东西的某些成果
跨平台:linux , windows mac
焦点成果就是可以在多个欣赏器长举办自动化测试
支持多种编程语言
今朝已经被google , 百度, 腾讯等公司遍及利用
可以或许实现雷同贸易东西的大部门成果,而且还实现了贸易东西不能支持的成果
发起各人整体进修整套东西, 未来好选择适合本身测试目标的测试东西。
Selenium 的成长汗青
2004年在ThoughtWorks 公司, 一个叫做Jason Huggins为了淘汰手工测试的事情, 本身写了一套Javascript的库, 这套库可以举办页面交互, 而且可以反复的在差异欣赏器长举办反复的测试操纵。
这套库厥后变为了Selenium Core. 为Selenium Remote Control (RC) 和Selenium IDE 提供了坚硬的焦点基本本领
Selenium 的浸染是划时代的,因为他答允你利用多种语言来节制欣赏器。
欣赏器的对JS的安详限制也对Selenium的成长带来了困扰,而且Web措施也越来越大,特性也越来越多,都对selenium的成长来说带来了不少坚苦
2006年Google 的工程师Simon Stewart开启了一个叫做WebDriver的项目, 此项目可以直接让测试东西利用欣赏器和操纵系统自己提供的要领, 借此来绕过JS情况的沙盒效应,软件开发, WebDriver项目方针就是为了办理Selenium的痛处
2008年北京奥运年会, Selenium 和 WebDriver 这两个项目举办了归并, Selenium 2.0 呈现了,也就是各人说的WebDriver
Selenium 的东西套件
selenium 2 (aka. Selenium Webdriver)提供了极佳的测试东西特性, 譬喻:关联的面向工具API
Selenium 1 (aka. Selenium RC or Remote Control) 支持更多的欣赏器,软件开发,支持更多的编程语言(Java, JavaScript, Ruby PHP)
Selenium IDE (集成开拓情况) 是Firefox 的插件, 有图形界面来录制和回放剧本。 此插件只是用来做原型东西,不消但愿你利用这个东西来运行所有的测试剧本
Selenium-grid 可以并行的在多个测试情况之下测试剧本,实现剧本的并发测试执行。 缩短大量测试剧本荟萃的执行时间
选择你的Selenium 东西
假如没有编程履历,发起选择Selenium IDE 来熟悉Selenium 的呼吁。 利用IDE以快速来建设简朴的测试剧本
我们不发起你选择Selenium IDE 来执行自动化测试,
发起先熟悉: Selenium IDE
再进一步纯熟利用Selenium-WebDriver API
WebDriver 支持的欣赏器
IE6-10
FireFox大部门版本
Chrome
Safari
Opera
Andrioid 系统上的自带欣赏器
IOS系统上自带欣赏器
HtmlUnit的无界面实现
Selenium 1和 WebDriver 的区别
WebDriver 是Selenium 1 的进级版本, 也可以领略为两个差异的产物
WebDriver 对比Selenium 1 来说可以更好地绕过JS的限制,API也更易于利用.
Selenium 1 比WebDriver 支持更多的欣赏器
WebDriver 可以实现向下兼容Selenium 1 的剧本
附: selenium java教程 (连载中, 敬请等候)
java selenium (一) selenium 先容
java selenium (二) 情况搭建要领一
java selenium (三) 情况搭建 基于Maven
java selenium (四) 利用欣赏器调试东西
java selenium (五) 元素定位大全
java selenium (六) xpath 定位
java selenium (七) CSS 定位
java selenium (八) Selenium IDE 用法
java selenium (九) 常见web UI 元素操纵 及API利用
java selenium (十) 操纵欣赏器
java selenium (十一) 操纵弹出对话框
java selenium (十二) 操纵弹出窗口
java selenium (十三) 智能期待页面加载完成
java selenium (十四) 处理惩罚Iframe 中的元素
未完待续