推荐序
在这个软件技术飞速发展的时代,伴随着软件架构的不断演进,软件测试技术也随之不断完善和发展——从早年完全基于GUI的自动化测试,到现如今前端GUI自动化测试和后端API自动化测试并驾齐驱。从测试介入的时机来看,软件测试正在不断“左移”,即在开发的早期阶段,测试人员就会参与其中。测试人员会从软件的可测试性需求、代码质量、接口质量等多个维度来把控软件的质量。从测试分层体系的设计上看,目前很多测试都被逐渐从前端GUI向后端API或者接口迁移。
按理说,在这种情况下,前端GUI测试的重要性会被逐渐削弱,但事实并非如此,目前依然有大量的面向终端用户的测试用例,需要在GUI层面做完整的验证,而且这些GUI测试需求在将来很长一段时间内会长期存在,并且对于浏览器的多样性、GUI测试的稳定性、自动化测试框架的开放性比以往任何时候都有更高的要求。为此,测试工程师非常有必要掌握扎实的主流GUI自动化测试技术,并且能够将其应用到实际的工程项目中。
Selenium作为开源领域最主流的GUI自动化测试框架,将是你深入学习、掌握GUI自动化测试的不二选择。Selenium从早期的基于RemoteController来规避同源策略的1版本,到基于WebDriver而大获成功的2版本,再到能够支持更多浏览器的3版本,以及最新的4版本,其自身在不断地完善和发展着。可以毫不夸张地说,Selenium几乎已经成为GUI自动化测试事实上的行业标准。
Python简单易学,代码精简优雅,又有大量的第三方库支持,是学习和入门自动化测试的首选开发语言。
本书系统地讲解了基于Python语言使用Selenium 4开展GUI自动化测试的方方面面,既有面向初级用户的基础环境搭建方法和Selenium基础知识,也有结合实际项目的大量工程实践。通过自我改进的重构过程,本书依次引出了可重用脚本、数据驱动、页面对象模型及BDD等核心概念,使读者能够循序渐进地掌握GUI测试的核心概念和实践方法。
此外,本书还介绍了自动化测试平台建设的基础知识,可以帮助读者拓宽视野,站在更高的层面理解自动化测试的生态体系。
纵览全书,本书内容从易到难、循序渐进,概念清晰明了,理论联系实际,知识体系全面而系统,是一本通过Python语言来全面掌握Selenium 4的好书。
茹炳晟
腾讯Tech Lead,资深技术专家,腾讯研究院特约研究员