没有合适的资源?快使用搜索试试~ 我知道了~
首页Selenium2 Java自动化测试实战:Python与Java的选择与深入
《Selenium2Java自动化测试实战9_2》是由虫师所著,针对Selenium 2与Java的自动化测试实战教程。在作者早期的测试生涯中,虽然接触过QTP和Selenium,但主要是基础的录制与回放操作。在跳槽到一家互联网公司后,他发现项目适合自动化测试,从而决定深入学习并选择Python作为脚本语言,结合Selenium进行实践。 在这个过程中,作者遇到了中文资料相对匮乏的情况,相比之下,Java与Selenium的资源更为丰富。他得到了乙醇和MarkRabbit的支持,乙醇的自动化测试文档对他帮助很大,而MarkRabbit则以其丰富的Python Selenium项目经验提供指导。作者最初通过博客分享WebDriver API在Python中的应用,随着时间的推移,积累了大量经验,并将这些内容整理成了一份名为《SeleniumWebDriver(python)》的文档,共经历了三次版本更新。 然而,作者意识到在编写这本书时,自己对某些技术并未完全掌握,因此在《Selenium2Python自动化测试实战》一书中,内容不仅涵盖了Selenium的使用,还融入了大量的Python技术,尽管如此,他还是带着心虚的心态分享这份知识,因为他认识到有些技术讲解可能不够深入。 《Selenium2Java自动化测试实战9_2》是一本实用的教程,旨在帮助读者掌握如何使用Python和Selenium进行Web应用程序的自动化测试,同时也强调了在实际项目中遇到的技术挑战和解决方案。它不仅是技术实践的指南,也体现了作者在学习和成长过程中的反思与分享精神。
资源详情
资源推荐
![](https://csdnimg.cn/release/download_crawler_static/9637849/bg10.jpg)
《Selenium2 Java 自动化测试实战》
16
Selenium 2.0
搞清了 Selenium 1.0 的家族关系,Selenium 2.0 是把 WebDriver 加入到了这个家族中;简单用公
式表示为:
Selenium 2.0 = Selenium 1.0 + WebDriver
需要强调的是,在 Selenium 2.0 中主推的是 WebDriver ,WebDriver 是 Selenium RC 的替代品,因
为 Selenium 为了向下兼容性,所以 Selenium RC 并没有彻底抛弃,如果你使用 Selenium 开发一个新自
动化测试项目,强列推荐使用 WebDriver 。那么 Selenium RC 与 webdriver 主要有什么区别呢?
Selenium RC 在浏览器中运行 JavaScript 应用,使用浏览器内置的 JavaScript 翻译器来翻译和执行
selenese 命令(selenese 是 Selenium 命令集合)。
WebDriver 通过原生浏览器支持或者浏览器扩展直接控制浏览器。WebDriver 针对各个浏览器而开发,
取代了嵌入到被测 Web 应用中的 JavaScript。与浏览器的紧密集成支持创建更高级的测试,避免了
JavaScript 安全模型导致的限制。除了来自浏览器厂商的支持,WebDriver 还利用操作系统级的调用模拟
用户输入。
Selenium 与 WebDriver 原先属于两个不同的项目,WebDriver 的创建者 Simon Stewart 早在 2009 年
八月的一份邮件中解释了项目合并的原因。
Selenium 与 WebDriver 合并原因:
为何把两个项目合并?部分原因是 WebDriver 解决了 Selenium 存在的缺点(比如,能够绕过 JS 沙
箱。我们有出色的 API),部分原因是 Selenium 解决了 WebDriver 存在的问题(例如支持广泛的浏览
器),部分原因是因为 Selenium 的主要贡献者和我都觉得合并项目是为用户提供最优秀框架的最佳途
径。
1.6 前端技术介绍
由于 Selenium 基于 web 的自动化测试技术,我们的要操作的对象是 web 页面,所以有必要对前端的
技术和工具做一个简单的介绍。
HTML 简介
HTML(Hyper Text Markup Language)中文为超文本标记语言,HTML 是网页的基础,它并不是一种
编程语言,而是一种标记语言(一套标记标签),但我们可以在 HTML 标签中嵌入各种前端脚本语言,如
VBScript、JavaScript 等。下面是一个简单的 HTML 页面:
html_page.html
<html>
![](https://csdnimg.cn/release/download_crawler_static/9637849/bg11.jpg)
《Selenium2 Java 自动化测试实战》
17
<title>标题</title>
<body>
<h1>正文</h1>
</body>
</html>
<html> 与 </html> 之间的文本描述网页
<title> 与</title> 之间的内容显示在浏览器的标题栏
<body> 与 </body> 之间的文本是可见的页面内容
<h1> 与 </h1> 之间的文本被显示为正文,h1 为页面中的一号字体
现在我们通过浏览器打开任意一个页面,在页面上右键菜单选择“查看网页源代码”,在复杂的前端
代码中你依然可以找到 HTML 的身影。
当然了,HTML 还定义了其它许多功能,请参考其它资料进行学习。
JavaScript 简介
JavaScript 是一种由 Netscape 公司的 LiveScript 发展而来的前端脚本语言(脚本语言是一个种轻量
级的语言),是一种解释性语言(代码执行不需要预编译);被设计用来向 HTML 页面添加交互行为,
通常被直接嵌入到 HTML 页面。
如果要在 HTML 页面中使用 JavaScript ,我们需要使用<script>标签,同时使用 type 属性来定义脚
本语言:
js_page.html
<html>
<body>
<script type="text/javascript">
document.write("Hello World!");
</script>
</body>
</html>
通过<script type="text/javascript"> 和</script > 就可以告诉浏览器 JavaScript 脚本从何处开始,
到何处结束。使用 document.write() 可以向文档输出写内容。
XML 简介
![](https://csdnimg.cn/release/download_crawler_static/9637849/bg12.jpg)
《Selenium2 Java 自动化测试实战》
18
XML 是指扩展标记语言,是标准通用标记语言的一个子集;与 HTML 类似,但它并非 HTML 的替代品,
它们为不同的目的而设计;HTML 被设计用来显示数据,其焦点是数据的外观。XML 被设计为传输和存储
数据,其焦点是数据的内容。
下面是一个简单的 XML
xml_file.xml
<?xml version="1.0"?>
<note>
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note>
<?xml version="1.0"?> 一个应该包含 XML 的声明,它定义了 XML 文档的版本号。
<note></note> 定义了文档里的第一个元素,也叫根元素。
<to></to>、<from></from>、<heading></heading>、<body></body> 为根元素的子元素,他们分别
包含了发送者与接收者的信息。这个 XML 文档仅仅是用标签包装了纯粹的信息,我们需要编写软件或程
序,才能传送、接收和显示出这个文档。
XML 允许我们自己定义标签,上例中的标签没有在任何 XML 标准中定义过,如<to> 和<from>,这
些标签是由我们自己定义的。
上面只是简单的介绍了 HTML 、JavaScript 以及 XML 等前端技术,Web 自动化测试就是与前端技术打
交到,所以,了解前端技术有助于我们顺利的进行 web 自动化测试工作,笔者推荐去 w3school 网站进一
步学习和掌握这些技术。
1.7
前端工具介绍
FireBug
FireBug 是 FireFox 浏览器下的一套开发类插件,相信很多同学对这款前端工具并不陌生。它集 HTML
查看和编辑、Javascript 控制台、网络状况监视器、cookie 查看于一体,是开发 JavaScript、CSS、HTML
和 Ajax 的得力助手。
![](https://csdnimg.cn/release/download_crawler_static/9637849/bg13.jpg)
《Selenium2 Java 自动化测试实战》
19
图 1.5 FireBug
我们可以通过他方便的查看页面上的元素,从而根据其属性进行定位。在前 web 自动化测试工作中,
此工具必不可少。
安装方式:firefox 浏览器的菜单栏中选择 tools(工具)--->add-ons Manager(添加组件),搜索 FireBug ;
对搜索到的插件进行安装,再次重启浏览器即可使用。
FirePath
FirePath 是 FireBug 插件扩展的一个开发工具,用来编辑、检查和生成的 XPath 1.0 表达式、CSS 3
选择器以及 jQuery 选择器。可以快速度的帮助我们通过 xPath 和 CSS 来定位页面上的元素。
图 1.6 FirePath
当通过 FireBug 的鼠标箭头选择一个页面元素后,FirePath 输入框将给出 XPath 的表达式,快速的帮
我们定位。注意:我们可以点击“XPath: ”按钮切换到 CSS 定位方式,从而获得一个元素的 CSS 定位方
式。FirePath 的安装方式与 FireBug 类似。
chrome 和 IE 的开发人员工具
chrome 和 IE 浏览器同样也提供了类似 FireBug 的开发人员工具,可以帮助我们定位页面元素。
chrome 浏览器默认自带 chrome 开发者工具,浏览器右上角的小扳手,在下拉菜单中选择“工具”--
“开发者工具”即可打开,更为快捷的是通过 Ctrl+Shift+I 或 F12 打开。
![](https://csdnimg.cn/release/download_crawler_static/9637849/bg14.jpg)
《Selenium2 Java 自动化测试实战》
20
图 1.7 Chrome 开发者工具
IE 浏览器从 IE8 版本开始,加入了开发人员工具,使用它也非常方便,通过菜单栏“工具”---“开发
人员工具”或者通过快捷键 F12 即可打开。值得一提的是,它提提供了浏览器的兼容模式,我们可以选择
浏览器模式切换到 IE7 模式,IE 9/10 同样提供向下兼容模式到 IE7 ,这将非常方便的帮助我们测试 IE 浏
览器的兼容性。
图 1.8 IE 开发者工具
1.8 开发语言的选择
通过前面的介绍,我们了解到 Selenium webdriver 支持多种语言的开发,java、Python、Ruby、php、
C#、JavaScript 等,那么我们应该选择哪一种语言结合 Selenium webdriver 进行开发呢?这里笔者给出一
点自己的看法。
关于 Java 语言我这里就不做过多的介绍,大量大型项目都是基于 Java 语言开发的。这里截取了 2015
年 1 月的编程语言排名。
剩余312页未读,继续阅读
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/9869f9d4a262489fa51053ac338837bc_qq_30840197.jpg!1)
qq_30840197
- 粉丝: 7
- 资源: 72
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
最新资源
- 多模态联合稀疏表示在视频目标跟踪中的应用
- Kubernetes资源管控与Gardener开源软件实践解析
- MPI集群监控与负载平衡策略
- 自动化PHP安全漏洞检测:静态代码分析与数据流方法
- 青苔数据CEO程永:技术生态与阿里云开放创新
- 制造业转型: HyperX引领企业上云策略
- 赵维五分享:航空工业电子采购上云实战与运维策略
- 单片机控制的LED点阵显示屏设计及其实现
- 驻云科技李俊涛:AI驱动的云上服务新趋势与挑战
- 6LoWPAN物联网边界路由器:设计与实现
- 猩便利工程师仲小玉:Terraform云资源管理最佳实践与团队协作
- 类差分度改进的互信息特征选择提升文本分类性能
- VERITAS与阿里云合作的混合云转型与数据保护方案
- 云制造中的生产线仿真模型设计与虚拟化研究
- 汪洋在PostgresChina2018分享:高可用 PostgreSQL 工具与架构设计
- 2018 PostgresChina大会:阿里云时空引擎Ganos在PostgreSQL中的创新应用与多模型存储
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)