本书由浅入深地对自动化软件测试进行了阐述,内容涵盖软件测试的基础知识、Python、PyTest、Selenium、面向对象编程、自动化测试框架的设计要点和测试自动化开发实践等,本书内容组织成入门、进阶和高阶三个逐步提高的版块,每个版块都有实战编程章节,清晰呈现了技术方案的打磨和改进的过程。本书的内容分为三个大的版块。个版块,从基础的部分讲起,让基础薄弱的工程师对测试和编程语言有基本的认识,在此基础上开始了解PyTest测试框架的基础用法,以及如何用Selenium来做简单的Web UI的自动化测试。通过这个版块的学习,测试工程师有能力把一些简单的测试工作用代码实现,减少手工重复劳动的比重,做到一定程度的测试自动化,这是对自动化测试工程师的入门要求。第二个版块,夯实Python语言基础,讲解更深入的PyTest和Selenium特性,演示如何应用这些知识来改进测试用例的编写,改善测试框架,让测试自动化更加高效。通过这个版块的学习,测试工程师对编程语言和测试工具会有更深入的了解,可以更高效地进行测试自动化的工作,有能力开始针对产品特性来设计自动化测试框架,这是工程团队对中级测试工程师的一般要求。第三个版块,学习Python的高级特性、面向对象的思想、自动化测试工具和框架的高级特性、设计思路、以及存在的问题、限制及其改进思路、工程团队的高质量协作、实际项目中的实践等更深入的内容,这个部分包含了大量实战中提炼出来的经验和总结。通过这个版块的学习,测试工程师可以往高级工程师和架构师方向迈出坚实的一步,而具备这样的技术能力和思维方式后,测试工程师可以在整个软件工程团队中起到非常积极的正面影响,而不只限于测试团队。每个版块的末尾都有一个实战章节,所有的实战章节围绕同一个测试场景展开,前后衔接呼应,有很强的延续性。每个实战章节都是针对相应的技术水平而设计的,读者可以非常直观地看到代码和设计如何随着技术水平的提升而改进。