介绍
以下资料皆来自于百度百科
Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera等。这个工具的主要功能包括:测试与浏览器的兼容性——测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上。测试系统功能——创建回归测试检验软件功能和用户需求。支持自动录制动作和自动生成 .Net、Java、Perl等不同语言的测试脚本。
功能
-
框架底层使用JavaScript模拟真实用户对浏览器进行操作。测试脚本执行时,浏览器自动按照脚本代码做出点击,输入,打开,验证等操作,就像真实用户所做的一样,从终端用户的角度测试应用程序。
-
使浏览器兼容性测试自动化成为可能,尽管在不同的浏览器上依然有细微的差别。
-
使用简单,可使用Java,Python等多种语言编写用例脚本。
优势编辑
据 Selenium 主页所说,与其他测试工具相比,使用 Selenium 的最大好处是:
Selenium 测试直接在浏览器中运行,就像真实用户所做的一样。Selenium 测试可以在 Windows、Linux 和 Macintosh上的 Internet Explorer、Chrome和 Firefox 中运行。其他测试工具都不能覆盖如此多的平台。使用 Selenium 和在浏览器中运行测试还有很多其他好处。
下面是主要的两大好处:
通过编写模仿用户操作的 Selenium 测试脚本,可以从终端用户的角度来测试应用程序。通过在不同浏览器中运行测试,更容易发现浏览器的不兼容性。Selenium 的核心,也称browser bot,是用 JavaScript 编写的。这使得测试脚本可以在受支持的浏览器中运行。browser bot 负责执行从测试脚本接收到的命令,测试脚本要么是用 HTML 的表布局编写的,要么是使用一种受支持的编程语言编写的。
Selenium 2.0适用于以下浏览器 :
- Google Chrome
- Internet Explorer 7, 8, 9, 10, 11
- Firefox
- Safari
- Opera
- HtmlUnit
- phantomjs
- Android
- iOS
Browser | Selenium IDE | Selenium Remote Control | Selenium Core | Selenium 2/Webdriver API |
---|---|---|---|---|
Firefox 10 | Record and playback tests | Start browser, run tests | Run tests | Run tests |
Firefox 9 | Record and playback tests | Start browser, run tests | Run tests | Run tests |
Firefox 8 | Record and playback tests | Start browser, run tests | Run tests | Run tests |
Firefox 7 | Record and playback tests | Start browser, run tests | Run tests | Run tests |
Firefox 6 | Record and playback tests | Start browser, run tests | Run tests | Run tests |
Firefox 5 | Record and playback tests | Start browser, run tests | Run tests | Run tests |
Firefox 4 | Record and playback tests | Start browser, run tests | Run tests | Run tests |
Firefox 3.6 | Record and playback tests | Start browser, run tests | Run tests | Run tests |
Firefox 3 | Record and playback tests | Start browser, run tests | Run tests | not supported |
IE 9 | not supported | Start browser, run tests | Run tests | Run tests |
IE 8 | not supported | Start browser, run tests | Run tests | Run tests |
IE 7 | not supported | Start browser, run tests | Run tests | Run tests |
Safari 3 | not supported | Start browser, run tests | Run tests | not supported |
Safari 2 | not supported | Start browser, run tests | Run tests | not supported |
Opera 9 | not supported | Start browser, run tests | Run tests | Run tests |
Opera 8 | not supported | Start browser, run tests | Run tests | Run tests |
Chrome | not supported | Start browser, run tests*** | Run tests*** | Run tests*** |
Others | not supported | Partial support possible* | Run tests** | not supported |
前提条件
实施自动化测试之前需要对软件开发过程进行分析,以观察其是否适合使用自动化测试。通常需要同时满足以下条件:
- 需求变动不频繁
测试脚本的稳定性决定了自动化测试的维护成本。如果软件需求变动过于频繁,测试人员需要根据变动的需求来更新测试用例以及相关的测试脚本,而脚本的维护本身就是一个代码开发的过程,需要修改、调试,必要的时候还要修改自动化测试的框架,如果所花费的成本不低于利用其节省的测试成本,那么自动化测试便是失败的。
项目中的某些模块相对稳定,而某些模块需求变动性很大。我们便可对相对稳定的模块进行自动化测试,而变动较大的仍是用手工测试。 - 项目周期足够长
自动化测试需求的确定、自动化测试框架的设计、测试脚本的编写与调试均需要相当长的时间来完成,这样的过程本身就是一个测试软件的开发过程,需要较长的时间来完成。如果项目的周期比较短,没有足够的时间去支持这样一个过程,那么自动化测试便成为笑谈。 - 自动化测试脚本可重复使用
如果费尽心思开发了一套近乎完美的自动化测试脚本,但是脚本的重复使用率很低,致使其间所耗费的成本大于所创造的经济价值,自动化测试便成为了测试人员的练手之作,而并非是真正可产生效益的测试手段了。
另外,在手工测试无法完成,需要投入大量时间与人力时也需要考虑引入自动化测试。比如性能测试、配置测试、大数据量输入测试等。
发展历史编辑
2004年,Thoughtworks的员工Jason Huggins编写了一个名为JavaScriptTestRunner的测试工具 ,并于当年向多位同事展示,该工具进一步进化为一个可以复用的测试框架并开源。
同时Bea, Dan Fabulich和Nelson Sproul等人修改架构为独立服务模式,期间有多位开发人员加入开发并推出了Selenium RC和Selenium-IDE。
Jason Huggins 2007年从Thoughtworks离职并加入Selenium support团队,同年Google多名员工加入开发,并在GTAC 会议上介绍了Selenium在Google的使用情况。
Selenium是一个成功的开源软件,其发展获得很多公司和独立开发者的支持 。
安装及使用
环境及工具
1.材料:
1)firefox35
火狐浏览器35版本 链接:https://pan.baidu.com/s/1TuMLbMVq-_zDGSNCV2Gyhg 提取码:714o
2)firefox插件
firebug 链接:https://pan.baidu.com/s/1ipMHx8-q24W2huTjADrCOA 提取码:gzwn
fireXPath 链接:https://pan.baidu.com/s/1zyxwM4N1UBs0cQ7HV5arPg 提取码:piy6
selenium_ide 链接:https://pan.baidu.com/s/1d8zFqvds8vX1vLYw1iNryg 提取码:ma0h
2.安装步骤:
浏览器安装:
插件安装
首先打开浏览器
三个都安装完成后重启火狐浏览器就安装完成了
安装selenium
在这里建议使用selenium2的版本,使用火狐不需要驱动
pip show selenium 查看版本
安装:pip install selenium==2.48.0