市场上关于自动化测试方面的书有很多,如专门介绍Selenium、Robot Framework及其他常用测试工具类(如Git、Jenkins、Postman等)的书籍。但唯独缺少一本可以将主流自动化测试技术与测试工具整合在一起的书。于是,《Python自动化测试实战》应运而生。
本书深入浅出,并结合众多工作中的实例引领读者从功能自动化测试到接口自动化测试方面的实战。本书中的案例是结合作者多年的知识积累和实务工作经验而设计的。在对自动化测试技术阐述的同时,图文并茂,没有太多理论条文,避免实操过程中的枯燥、乏味。
书的写作类型一般可以分为两种,一种是有思想的书,另一种是工具类的书。在笔者看来,本书更像是一本整合目前主流自动化测试工具的教程书。本书会告诉读者如何使用自动化测试工具,并将自动化测试技术应用到实际工作中,最终解决一些测试过程中遇到的问题。
本书从自动化测试理论入手,以Python语言为驱动核心,围绕Selenium、Robot Framework等自动化测试工具在功能自动化测试领域中的实际应用而展开。此外,本书还系统地介绍了接口自动化测试在企业中实施的必要性,使用Requests库、Postman、Git、Charles、Jenkins等测试工具并结合大量案例来演示接口测试在实际过程中的应用。
受作者水平和成书时间所限,本书难免存有疏漏和不当之处,敬请读者指正。此外,感谢出版社编辑王继伟一路以来的耐心指导。
1. 特别注重实操性,可快速上手
本书内容涵盖了Selenium、Robot Framework、Postman、Charles、Python+Requests、Git、Jenkins等自动化测试工具所必须掌握的知识,从内容结构上非常注重知识的实用性和可操作性。本书在对知识点进行介绍时,拒绝深奥的理论条文,强调实务操作,使读者快速上手。本书由浅入深、循序渐进的知识讲授,完全遵循和尊重初学者对自动化测试技术知识的认知规律。
2. 图文并茂,大量案例引导全程
本书图文并茂,通过大量实际工作中的案例来引导读者学习并实操。不管读者是否为零基础,都可以按照教程在短时间内上手。本书更像是一本自动化测试技能字典,所有案例源码都可以在GitHub上下载,还可以通过查阅的方式来获取答案来验证自己的学习成果。
3. 涉及自动化测试工具范围广,可通过本书学习多种测试技能
本书是目前市场上涉及自动化测试工具较为广泛的一本书,涵盖了主流功能自动化测试工具(如Selenium、Robot Framework)、主流接口自动化测试工具(如Postman、Python+Requests),以及测试辅助工具(如Charles、Git、Jenkins等)。笔者相信本书是功能测试人员转型为自动化测试技术方向的一本必不可少的书。
第1章 自动化测试理论
本章引领读者了解实施自动化测试的意义和自动化测试实施的过程,为后续学习自动化测试技术抛砖引玉。
第2章 Selenium 3自动化测试实战
本章涵盖目前主流功能自动化测试工具Seleneium 3的应用,讲解了Selenium 3自动化测试环境搭建,并结合大量案例来演示多种Webdriver API在自动化测试中的应用、unittest单元测试框架、数据驱动测试(DDT)实战及自动化脚本的数据分离和封装设计实战等,在最后通过一个实战项目讲解如何从0到1搭建一个丰富且完整的功能自动化测试框架(包含用例组织、数据封装、配置文件管理、日志跟踪、自动生成邮件和持续集成等)。
第3章 Robot Framework自动化测试实战
本章以Python语言为驱动,系统讲解了Seleneium2Library库及DatabaseLibrary库在自动化测试中的应用实战,其中包含Selenium2Library库和DatabaseLibrary库中常用关键字使用案例解析、关键字封装、项目分层设计与开发实战等,最后结合Jenkins实现持续集成,输出自动化测试报告。掌握本章后,读者可以独立开展自动化测试任务。
第4章 接口测试基础
本章以接口测试理论为切入点,系统地讲解了接口的定义、接口测试流程及接口测试用例设计原则和注意事项,重点讲解了HTTP及在接口测试中的重要性。在本章最后阐述了接口测试工作中绕不开的话题,即Cookie和Session的工作原理。
第5章 Charles抓包工具实战
本章系统地讲解了主流抓包工具Charles在实际工作中的应用。通过本章,读者可以掌握Charles工具的配置、设置代理、计算机端抓包设置、手机端抓包设置、Charles常见问题解析,以及Charles在接口测试中的应用等,了解Charles抓包工具在接口自动化测试中的重要性。
第6章 Postman接口测试高级实战
本章以Postman接口测试工具(Collections、Runner、Code、Globals等)核心功能为出发点,重点讲解如何使用Postman处理HTTP请求和WebServices请求案例,以及在接口测试过程中如何设置接口断言、处理数据转换(JSON和XML)、解决动态参数的依赖和调用、分离公共数据、转换多种编程语言测试脚本等。本章最后通过Newman+Jenkins+Postman实现持续集成,可以定时接口自动化测试任务。
第7章 Python接口自动化测试实战
本章系统地讲解了使用Requests模块实现接口自动化测试。从Requests模块常用示例(GET、POST、JSON、Requests Headers、Response等)入手,围绕Cookie、Session、Token、上传文件、序列化和反序列化等案例开展接口测试。最后结合Python 3+Requests+unittest讲解接口自动化测试框架的设计和开发思路。
第8章 Robot Framework接口自动化实战
本章讲解了Collections库、ExcelLibrary库、RequetsLibrary库中常见关键字在接口测试中的使用。此外,还涉及如何使用ExcelLibrary库进行测试数据的维护和管理、封装并调用接口关键字,以及测试数据与业务分离等。掌握本章后,读者可以使用Robot Framework工具开展接口自动化测试任务。
第9章 Appium自动化测试实战
本章系统地讲解了Appium移动端自动化测试环境的搭建,结合丰富的案例,基于Android操作平台演示WebDriver在实际工作中的应用,主要内容包括自动化截图实战、滑动实战、多点触控实战、键盘事件、等待函数实战等及使用Appium测试框架完成一个自动化项目实战脚本的演示(涵盖需求分析→自动化用例设计→脚本编写→脚本封装重构→测试案例运行及分析等)。掌握本章后,读者可以独立开展移动端自动化测试任务。
第10章 Git版本控制工具实战
本章通过实际案例来演示Git在项目管理中的应用,包括版本库的创建、文件的提交和跟踪管理,以及版本回退等。此外,还涉及GitHub的配置及远程库的添加和远程克隆等操作。随着企业内部技术的不断升级和调整,相信掌握Git工具的使用方法是测试人员的必备技能之一。