新書推薦:
《
组队:超级个体时代的协作方式
》
售價:HK$
79.4
《
第十三位陪审员
》
售價:HK$
55.2
《
微观经济学(第三版)【2024诺贝尔经济学奖获奖者作品】
》
售價:HK$
159.9
《
Python贝叶斯深度学习
》
售價:HK$
91.8
《
文本的密码:社会语境中的宋代文学
》
售價:HK$
69.0
《
启微·狂骉年代:西洋赛马在中国
》
售價:HK$
80.5
《
有趣的中国古建筑
》
售價:HK$
68.8
《
十一年夏至
》
售價:HK$
78.2
|
編輯推薦: |
《Selenium3自动化测试实战基于Python语言》重要知识点总结如下:
1 Python3 编程语言基础精讲
2 通过20个例子展示WebDriver API 的使用场景
3 unittest & pytest 两大单元测试框架全面介绍
4 数据驱动模型在项目中的应用
5 通过自动化项目串联所有知识点
6 Jenkins持续集成的安装与配置
7 appium 移动测试工具的应用
|
內容簡介: |
本书共分14章,第1章介绍了自动化测试相关的基础知识。第2章到第10章是本书的重点,从环境搭建,到WebDriver API介绍,再到单元测试框架的使用,循序渐进地介绍了自动化测试所用到的知识,*后再通过项目将这些知识串联起来。第11章详细介绍了如何使用Jenkins配置自动化测试项目。第12章到第14章介绍了移动自动化测试工具appium的使用。本书的写作目的并不是简单地告诉读者如何使用一个自动化测试工具,而是希望读者在学习本书的内容后能够提升技术高度、拓展技术宽度,从而摆脱简单的手工测试,向高级测试工程师迈进。
|
關於作者: |
虫师,2011年6月开始在博客园持续分享测试技术和经验,在自动化测试、性能测试方面有着丰富实战经验,另外,对Web开发技术也有一定的积累。前后担任高级测试工程师、测试开发工程师,以及测试Leader等职位。
|
目錄:
|
第1 章 自动化测试基础 ................................................................................................. 1
1.1 分层的自动化测试 ................................................................................................ 1
1.2 适合自动化测试的项目 ........................................................................................ 3
1.3 如何学习UI 自动化测试 ...................................................................................... 4
1.4 Selenium 简介 ........................................................................................................ 4
1.5 appium 简介 ........................................................................................................... 8
第2 章 测试环境搭建 .................................................................................................. 10
2.1 安装Python .......................................................................................................... 10
2.2 安装Selenium ...................................................................................................... 12
2.3 第一个Selenium 自动化测试脚本 ..................................................................... 12
2.4 浏览器驱动 .......................................................................................................... 13
第3 章 Python 基础 ..................................................................................................... 16
3.1 Python 哲学 .......................................................................................................... 16
3.2 输出 ...................................................................................................................... 18
3.2.1 打印 .......................................................................................................... 18
3.2.2 引号与注释 .............................................................................................. 19
3.3 分支与循环 .......................................................................................................... 20
3.3.1 if 语句 ....................................................................................................... 20
3.3.2 for 语句 .................................................................................................... 21
3.4 列表、元组与字典 .............................................................................................. 22
3.4.1 列表 .......................................................................................................... 22
3.4.2 元组 .......................................................................................................... 23
3.4.3 字典 .......................................................................................................... 24
3.5 函数、类和方法 .................................................................................................. 25
3.5.1 函数 .......................................................................................................... 25
3.5.2 类和方法 .................................................................................................. 26
3.6 模组 ...................................................................................................................... 27
3.6.1 调用模块 .................................................................................................. 27
3.6.2 自定义模块 .............................................................................................. 30
3.6.3 跨目录调用文件 ...................................................................................... 31
3.6.4 编写自测代码 .......................................................................................... 33
3.7 异常 ...................................................................................................................... 34
3.7.1 认识异常 .................................................................................................. 34
3.7.2 更多异常用法 .......................................................................................... 37
3.7.3 抛出异常 .................................................................................................. 37
3.8 新手常犯的错误 .................................................................................................. 38
第4 章 WebDriver API ................................................................................................ 40
4.1 从定位元素开始 .................................................................................................. 40
4.1.1 id 定位 ...................................................................................................... 44
4.1.2 name 定位 ................................................................................................ 44
4.1.3 class 定位 ................................................................................................. 44
4.1.4 tag 定位 .................................................................................................... 44
4.1.5 link 定位 ................................................................................................... 45
4.1.6 partial link 定位 ........................................................................................ 45
4.1.7 XPath 定位 ............................................................................................... 46
4.1.8 CSS 定位 .................................................................................................. 48
4.1.9 用By 定位元素 ....................................................................................... 51
4.2 控制浏览器 .......................................................................................................... 52
4.2.1 控制浏览器窗口大小 .............................................................................. 52
4.2.2 控制浏览器后退、前进 .......................................................................... 52
4.2.3 模拟浏览器刷新 ...................................................................................... 53
4.3 WebDriver 中的常用方法 .................................................................................... 53
4.4 鼠标操作 .............................................................................................................. 55
4.5 键盘操作 .............................................................................................................. 57
4.6 获得验证信息 ...................................................................................................... 58
4.7 设置元素等待 ...................................................................................................... 59
4.7.1 显式等待 .................................................................................................. 60
4.7.2 隐式等待 .................................................................................................. 62
4.8 定位一组元素 ...................................................................................................... 63
4.9 多表单切换 .......................................................................................................... 64
4.10 多窗口切换 ........................................................................................................ 65
4.11 警告框处理 ........................................................................................................ 67
4.12 下拉框处理 ........................................................................................................ 69
4.13 上传文件 ............................................................................................................ 70
4.14 下载文件 ...........................................
|
內容試閱:
|
前 言
《Selenium2 自动化测试实战基于Python 语言》出版后,我陆续收到许多反馈,有很多同学(我习惯这么称呼软件测试的同行)通过这本书学会了Selenium 自动化测试,这是我写这本书的初衷,能在你学习测试技术的道路上提供一点点帮助,我感到非常高兴!也有同学向我反馈了书中的一些错误,在此深表感谢。
随着我在自动化测试技术上的积累,我越发觉得《Selenium2 自动化测试实战基于Python 语言》一书有许多不足之处,有些内容已经过时,有些技术需要更进一步的探讨。2017 年的时候我萌生要写第二版的想法,当时只是想对少部分内容进行修改,直接到2018年下半年才开始动笔重新整理内容。我写书的方式是一遍遍地修改书中的内容,所以,虽然不是从头到尾写一本新书,但也花费了半年之久。
前面的章节安排与《Selenium2 自动化测试实战基于Python 语言》一书相比,变化不大,但里面的内容都有改动,主要是替换或修改了里面的例子。随着我对自动化测试的理解,更正了前一本书中的部分观点。
(1)加入了pytest 单元测试框架的使用方法,与unittest 相比,pytest 的功能更加强大,而且还有丰富的扩展库,更适合用来做自动化测试。
(2)补充了Jenkins 的使用方法。
(3)增加了3 章appium 移动自动化测试工具的介绍。随着移动互联网的发展,移动自动化测试几乎成为测试人员必备技能之一,appium 正是在Selenium 的基础上扩展而来的自动化工具。
当然,在上一本的基础上,本书也删减了部分内容。
(1)删掉了Selenium IDE 相关的内容,越来越多的测试人员使用WebDriver 编写自动化脚本,Selenium IDE 作为浏览器的自动化插件,已经很少有同学单独使用它完成大型自动化项目了。
(2)删掉了Python 多线程相关的内容。多线程的优点是可以提高自动化测试的执行速度,缺点是降低了自动化的稳定性。本书介绍了减少测试用例执行时间的其他方法。
(3)删掉了BDD 行为驱动开发相关的内容,本书更聚焦于自动化测试技术,所以,其他技术请参考专业的书进行学习。
本书在命名时也颇为纠结,本书的内容属于《Selenium2 自动化测试实战基于Python 语言》升级版,如果命名为《Selenium2 自动化测试实战基于Python 语言(第二版)》可以看出这种继承关系,但是书中内容是基于Selenium3 编写的,所以最终命名为《Selenium3 自动化测试实战基于Python 语言》。
在本书出版之际,Selenium4 已在开发当中,从Selenium 官方给出的消息来看,Selenium4 对于本书的内容影响很小。
最后,由于作者水平有限,书中难免有错误之处,希望你能将错误反馈给我,我将感激不尽。感谢编辑安娜,没有她的帮助本书无法出版。感谢读者的厚爱,正是你们的鼓励
和支持,才使我有动力完成本书。
虫师
2019 年6 月
|
|