前 言
《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 月