新書推薦:

《
大宋300年(写尽三百载大宋繁华与沉浮、浪漫与风霜)
》
售價:HK$
75.9

《
害马之群:失控的群体如何助长个体的不当行为
》
售價:HK$
96.8

《
最后的门徒——我与李小龙回忆录
》
售價:HK$
74.8

《
没有明天的我们,在昨天相恋
》
售價:HK$
47.1

《
流动的白银(一部由白银打开的人类文明发展史)
》
售價:HK$
63.8

《
饮食的谬误:别让那些流行饮食法害了你
》
售價:HK$
63.8

《
三千年系列:文治三千年+武治三千年+兵器三千年
》
售價:HK$
197.3

《
甲骨文常用字字典(精) 新版
》
售價:HK$
74.8
|
內容簡介: |
本书是一本从入门到精通模式的Selenium WebDriver实战经验分享书籍。全书共分为四个部分:*部分为基础篇,主要讲解与自动化测试相关的基础理论、WebDriver环境安装、单元测试工具的使用方法及 WebDrvier的入门使用实例;第二部分为实战应用篇,基于丰富的实战案例讲解页面元素的定位方法及WebDriver的*常用API使用方法;第三部分为自动化测试框架搭建篇,深入讲解了页面对象的设计模式,以及分布式并发执行测试框架、数据驱动测试框架、行为驱动测试框架、关键字驱动测试框架和混合驱动测试框架的实例源码,还讲解了如何基于Maven搭建数据驱动测试框架;第四部分为常见问题和解决方法,讲解了在WebDriver使用过程中的常见疑难问题和解决方法。本书既适合WebDriver的初学者阅读,也适合供尝试编写自动化测试框架的中、高级自动化测试工程师参考。
|
關於作者: |
吴晓华,从业互联网行业19年,曾任职中国国际电子商务中心、搜狐、搜狗、Tom在线、中国移动等多家公司,曾担任测试专家、测试经理和项目质量部经理等职位,现在是个创业者,创办了光荣之路测试开发培训。个人曾出版《Selenium WebDriver实战宝典》和《Selenium WebDriver 3.0 自动化测试框架实战指南》,在测试界推出免费的50g测试开发视频(超过50万次下载),光荣之路电台主播(试主题音频播放突破百万次),擅长python开发、UI自动化测试、接口自动化测试、性能测试、测试管理和项目管理等技术。
|
目錄:
|
第1章Selenium简介002
1.1Selenium的前世今生002
1.2Selenium工具套件介绍003
1.3Selenium支持的浏览器和操作系统004
1.3.1Selenium IDE和Selenium 1支持的浏览器和操作系统004
1.3.2Selenium 2和Selenium 3支持的浏览器005
1.4Selenium 1和WebDriver的实现原理006
1.4.1Selenium 1的实现原理006
1.4.2WebDriver的实现原理008
1.5Selenium的特性014
1.5.1Selenium 1和Selenium 2的特点014
1.5.2Selenium 3的新特性015
第2章自动化测试的那点事儿016
2.1自动化测试的目标016
2.2管理层的支持020
2.3投入产出比020
2.4敏捷开发中的自动化测试应用021
2.5自动化测试人员分工023
2.6自动化测试工具的选择和推广使用024
2.6.1自动化测试工具的选择024
2.6.2Selenium WebDriver和QTP的工具特点比较025
2.7在项目中实施自动化测试的最佳实践025
2.8学习Selenium工具的能力要求028
第3章自动化测试辅助工具029
3.156 版本Firefox浏览器的安装029
3.2安装xPath Finder插件030
3.3xPath Finder插件的使用032
3.3.1启动xPath Finder 插件032
3.3.2使用xPath Finder插件032
3.4使用Firefox开发版浏览器查找页面元素对应的HTML代码033
3.5Chrome 浏览器自带的辅助开发工具034
3.6IE浏览器自带的辅助开发工具035
第4章 Selenium IDE036
4.1什么是Selenium IDE036
4.2安装Selenium IDE037
4.3Selenium IDE插件的基本功能038
4.3.1新建一个测试工程,录制并执行脚本038
4.3.2常用工具栏041
4.3.3脚本编辑区域041
4.4Selenium IDE脚本介绍Selenese042
第5章 搭建Java环境和Eclipse集成开发环境043
5.1安装Java JDK,配置Java环境043
5.1.1下载JDK 1.8版本的安装文件043
5.1.2安装JDK 1.8版本044
5.1.3配置Java环境变量046
5.2安装Java IDE开发工具Eclipse049
5.3新建一个Java工程和一个类052
5.4Eclipse集成开发环境的使用技巧055
5.4.1增大程序代码和注释字体055
5.4.2自动补全功能056
第6章 WebDriver的安装配置057
6.1在Eclipse 中配置WebDriver057
6.2第一个WebDriver脚本060
第7章 单元测试框架的基本介绍062
7.1什么是单元测试062
7.2JUnit单元测试框架062
7.2.1什么是JUnit063
7.2.2安装JUnit 4063
7.2.3JUnit的常见注解064
7.2.4创建JUnit 4 Test Suite070
7.2.5使用JUnit编写的WebDriver脚本072
7.3TestNG单元测试框架073
7.3.1什么是TestNG073
7.3.2TestNG的优点073
7.3.3编写TestNG测试用例的步骤074
7.3.4在Eclipse中安装TestNG插件074
7.3.5在TestNG中运行第一个WebDriver测试用例077
7.3.6TestNG的常用注解081
7.3.7测试集合085
7.3.8测试用例的分组087
7.3.9依赖测试090
7.3.10按照特定顺序执行测试用例091
7.3.11跳过某个测试方法092
7.3.12测试报告中的自定义日志093
7.3.13断言094
第8章 页面元素的定位方法097
8.1定位页面元素的方法汇总097
8.2使用ID定位098
8.3使用name定位099
8.4使用链接的全部文字定位099
8.5使用部分链接的文字定位100
8.6使用标签名称定位101
8.7使用Class名称定位101
8.8使用XPath方式定位102
8.8.1什么是XPath102
8.8.2XPath语法103
8.9使用CSS方式定位108
8.9.1什么是CSS108
8.9.2CSS语法108
8.9.3XPath定位和CSS定位的比较113
8.10使用jQuery方式定位113
8.10.1什么是jQuery113
8.10.2jQuery的定位代码实例114
8.11表格的定位方法116
8.11.1遍历表格的全部单元格116
8.11.2定位表格中的某个单元格118
8.11.3定位表格中的子元素119
第二篇实战应用篇
第9章 WebDriver的多浏览器测试122
9.1使用IE浏览器进行测试122
9.2使用Firefox浏览器进行测试123
9.3使用Chrome浏览器进行测试124
9.4使用Mac系统中的Safari浏览器进行测试126
9.5使用TestNG进行并发兼容性测试126
第10章 WebDriver API实例详解131
10.1访问某网页地址131
10.2返回上一个访问的网页(模拟单击浏览器的后退功能)132
10.3从上次访问网页前进到下一个网页(模拟单击浏览器的前进功能)132
10.4刷新当前网页133
10.5操作浏览器窗口133
10.6获取页面的Title属性134
10.7获取页面的源代码134
10.8获取当前页面的URL地址135
10.9在输入框中清除原有的文字内容135
10.10在输入框中输入指定内容136
10.11单击按钮136
10.12双击某个元素137
10.13操作单选下拉列表137
10.14检查单选列表的选项文字是否符合期望138
10.15操作多选的选择列表139
10.16操作单选框140
10.17操作复选框141
10.18杀掉Windows的浏览器进程142
10.19对当前浏览器窗口进行截屏143
10.20检查页面元素的文本内容是否出现143
10.21执行JavaScript脚本144
10.22拖曳页面元素145
10.23模拟键盘的操作145
10.24模拟鼠标右键操作146
10.25在指定元素上方进行鼠标悬浮146
10.26在指定元素上进行鼠标单击左键和释放的操作148
10.27查看页面元素的属性149
10.28获取页面元素的CSS属性值150
10.29隐式等待150
10.30常用的显式等待151
10.31自定义的显式等待153
10.32判断页面元素是否存在154
10.33使用Title属性识别和操作新弹出的浏览器窗口155
10.34使用页面的文字内容识别和处理新弹出的浏览器窗口157
10.35操作JavaScript的Alert弹窗158
10.36操作JavaScript的confirm弹窗159
10.37操作JavaScript的prompt弹窗160
10.38操作frame中的页面元素161
10.39使用frame中的HTML源码内容来操作frame164
10.40操作iframe中的页面元素165
10.41操作浏览器的Cookie166
第11章 WebDriver的高级应用实例168
11.1使用JavaScriptExecutor单击元素168
11.2在使用Ajax方式产生的浮动框中,单击选择包含某个关键字的选项170
11.3设置一个页面对象的属性值172
11.4在日期选择器上进行日期选择174
11.5无人化自动下载某个文件175
11.6使用sendKeys方法上传一个文件附件179
11.7使用第三方工具AutoIt上传文件180
11.8操作Web页面的滚动条186
11.9启动带有用户配置信息的Firefox浏览器窗口188
11.10通过Robot对象操作键盘190
11.11对象库(UI Map)193
11.12操作富文本框196
11.13精确比对网页截图图片202
11.14高亮显示正在被操作的页面元素204
11.15在断言失败时进行屏幕截图206
11.16使用Log4j在测试过程中打印执行日志211
11.17封装操作表格的公用类216
11.18控制基于HTML5语言实现的视频播放器219
11.19在HTML5的画布元素上进行绘画操作222
11.20操作HTML5的存储对象223
第三篇自动化测试框架搭建篇
第12章 数据驱动测试228
12.1什么是数据驱动228
12.2使用TestNG进行数据驱动228
12.3使用TestNG和CSV文件进行数据驱动231
12.4使用TestNG、Apache POI和Excel文件进行数据驱动测试234
12.5使用MySQL数据库实现数据驱动测试239
第13章 页面对象(Page Object)模式244
13.1页面对象模式简介244
13.2使用PageFactory类245
13.2.1使用PageFactory类给测试类提供待操作的页面元素245
13.2.2使用PageFactory类封装页面元素的操作方法247
13.3使用LoadableComponent类250
13.4多个PageObject的自动化测试实例252
第14章 行为驱动测试260
14.1行为驱动开发和Cucumber简介260
14.2Cucumber在Eclipse中的环境搭建261
14.3在Eclipse中使用JUnit和英文语言进行行为驱动测试263
14.4在Eclipse中使用JUnit和中文语言进行行为驱动测试272
第15章 Selenium Grid的使用276
15.1Selenium Grid简介276
15.2Selenium Grid的使用方法278
15.2.1远程使用Firefox浏览器进行自动化测试278
15.2.2远程使用IE浏览器进行自动化测试282
15.3通过TestNG使用Firefox、IE和Chrome浏览器进行并发的远程自动化测试284
15.3.1使用静态类实现并发的远程自动化测试284
15.3.2通过TestNG的配置文件参数方法进行远程并发自动化测试288
15.4使用Selenium Grid时,在远程Node计算机上进行截图294
第16章 自动化测试框架的Step By Step搭建及测试实战296
16.1什么是自动化测试框架296
16.2数据驱动测试框架搭建及实战299
16.3关键字驱动测试框架搭建及实战331
16.4混合驱动测试框架搭建及实战398
第17章 基于Maven的数据驱动框架搭建及测试实战432
17.1Maven的安装与配置432
17.1.1下载Maven安装文件432
17.1.2配置Maven环境变量433
17.1.3配置settings.xml435
17.2基于Maven的数据驱动框架搭建437
17.3基于Maven的数据驱动框架测试实践478
|
內容試閱:
|
前言
随着互联网的高速发展,中国的互联网繁荣程度达到了一个空前的发达水平,数亿量级用户的产品登上了中国的互联网发展舞台,阿里巴巴、腾讯、百度等多个互联网巨头也开始在世界的互联网舞台上崭露头角,互联网行业的从业人员也达到了上百万人的规模,中国的互联网产品已经深入网民生活的方方面面。
互联网行业在中国的迅猛发展,对中国的软件开发和测试行业也提出了更高的技术要求与质量要求,软件测试从业者的技术水平也被提升到空前且不绝后的高要求阶段。以往我们看到,测试人员的招聘重点都是对于测试用例设计和业务的理解,现今我们看到,更多的测试职位对测试人员提出了更高的技术能力要求,例如,精通一门编程语言,熟悉MySQL或者Oracle数据库,精通自动化测试和性能测试等。为了更好地适应互联网社会的发展潮流,软件测试从业者只有在技术能力上不断地提升自己,才能真正站在职业发展的巅峰。
自动化测试技术对测试人员来说是一个必要的高级技能要求,越来越多的测试从业者并不甘于仅仅使用手工方式进行测试,他们非常希望使用自动化的方式来减少枯燥无味且不断重复的手工测试劳动。目前,主流的Web自动化测试开源工具Selenium WebDriver成为众多软件测试从业者学习的热点,但是市面上针对Selenium自动化测试的书籍很少,基于实践来讲解Selenium应用技术的书籍更是凤毛麟角。因此,笔者个人非常希望能够写出一本基于实践操作的Selenium教学书籍,来解决软件测试人员的自动化测试学习问题。
本书采用图文并茂的方式分步骤讲解Selenium的各种实用技巧,并且提供被测试对象的实现代码或者被测试对象的访问网址,方便读者在本地搭建自己的测试环境或者访问互联网上的网站,从而进行自动化测试的实践。
这是我第一次写一本技术方面的书籍,当我真正开始提笔的时候,深深感觉到用简洁的语言讲明白工具的使用方法和测试程序代码绝非易事,为此我投入了大量的精力来不断组织、优化书中的文字和图片,希望能够让读者通过本书深入掌握Selenium的使用技巧,在自动化测试上助大家一臂之力。
由于我平时还要忙于其他工作,只能利用业余时间来编写此书,所以足足耗时8个月之久才完成此书,共写了30多万字,希望能够获得读者的欢迎。非常感谢我的妻子和女儿,她们对我给予了巨大支持。我相信通过我的努力一定可以改变一些人的命运,所以和大家共勉,希望我们共同努力,改变中国测试行业技术含量低的现状。
各章内容介绍:
第一篇基础篇:包括第1~8章。
第1章介绍了Selenium的发展历史及组成Selenium 的工具套件,列举了Selenium 1和Selenium 2支持的浏览器和平台,讲解了Selenium RC和 WebDriver的实现原理,同时介绍了Selenium 1、Selenium 2和Selenium 3的各自特点及区别。
第2章介绍了在日常测试工作中常见的自动化测试目标,讲解了如何获得公司管理层对开展自动化测试的支持,介绍了如何衡量自动化测试工作的投入产出比及在敏捷开发中的自动化测试应用,讲解了自动化测试工作的分工及测试工具的选择和推广使用,分享了实际项目的最佳实践经验,说明了学习Selenium工具的能力要求。
第3章主要讲解了与Selenium工具使用相关的辅助工具。
第4章主要讲解了Selenium IDE插件的安装、界面和基本的使用方法,并且讲解了使用实例和导出脚本的方法。
第5章主要讲解了如何搭建Java环境和Eclipse集成开发环境,并且介绍了Eclipse开发环境的最佳配置方法。
第6章主要讲解了WebDriver的安装和配置方法。
第7章主要讲解了单元测试的基本知识,并且结合JUnit和TestNG单元测试框架讲解了单元测试的实例。
第8章主要讲解了在自动化测试过程中使用的页面元素定位方法,包括ID定位方法、Name定位方法、链接定位方法、Class名称定位方法、XPath定位方法、CSS定位方法和jQuery定位方法,推荐将XPath定位方法作为页面元素定位的主要方法。
第二篇实战应用篇:包括第9~11章。
第9章讲解了如何使用WebDriver工具分别操作IE浏览器、Firefox浏览器和Chrome浏览器进行自动化测试,介绍了TestNG工具的并发兼容性测试实例。
第10章通过实例全面讲解了WebDriver的常用API,共介绍了41个实例。
第11章讲解了WebDriver的20个高级应用实例。
第三篇自动化测试框架搭建篇:包括第12~17章。
第12章讲解了数据驱动的概念,以及如何基于TestNG工具,使用CSV文件、Excel文件和MySQL数据库分别进行数据驱动测试。
第13章介绍了页面对象(Page Object)设计模式,通过使用类函数封装方式实现自动化测试框架的设计模式。
第14章介绍了基于Cucumber工具的行为驱动测试实例,分别基于中文测试用例文件和英文测试用例文件进行了实例讲解。
第15章介绍了如何基于Selenium Gird组件实现并发执行测试用例,并基于实例进行了深入讲解。
第16章深入讲解了如何从零开始,搭建数据驱动测试框架、关键字驱动测试框架和混合驱动测试框架,并提供了完整的框架实例代码。此章为本书最重要的章节,建议读者在阅读前面所有章节后再阅读此章节。
第17章以数据驱动框架为例,讲解了基于Maven的数据驱动测试框架的构建,提供了完整的框架实例代码。此章为实战的进阶内容,建议读者在阅读时,在本地计算机中进行实践搭建。
第四篇常见问题和解决方法:包含第18章。
第18章讲解了在WebDriver使用过程中的常见问题和解决方法,读者可以在使用WebDrvier遇到问题时进行查阅。
特别致谢:
感谢我的好朋友王浩、李雄刚和部凯文帮忙校对本书中的所有实例和代码,从中发现了不少书写错误和代码问题,在此对他们表示真挚的感谢。
吴晓华
2019年4月
|
|