前 言
软件测试技术在不断发展:最开始没有专门的测试人员,到后来人们终于认可了测试人员的价值;一开始测试人员仅执行复杂的手工测试,又逐渐发展到使用自动化测试。而对于自动化测试,开始有了大大小小的分类,各种自动化测试工具如雨后春笋般涌现。如今软件行业对测试质量和效率的要求已经与多年前有天壤之别。在追求敏捷开发和DevOps的今天,自动化测试的成效已经成为成功实施敏捷开发或DevOps的决定因素之一。
要成功实施自动化测试,工具是其中一个要素。在Web功能测试领域,Selenium是一个免费、开源、跨平台的重要工具,它可以对Chrome、Firefox、Safari等浏览器进行测试,支持多种语言(如Python、Java、C#、Ruby、JavaScript等),它足以胜任一切Web功能测试任务。而在移动端应用程序流行的今天,基于Selenium WebDriver协议的Appium开始崭露头角,它可以用于iOS或Android系统,不仅支持在移动设备上测试Web应用程序,还支持原生应用程序的测试。Selenium的这一系列工具支持几乎所有主流应用程序的自动化功能测试。
脚本语言的兴起在一定程度上促进了自动化测试的发展。作为一种面向对象的脚本语言,Python简单易学,免费、开源,拥有相当多的功能库,极易扩展。仅从自动化测试的角度而言,Selenium与Python的组合比其他组合更具优势。本书基于Python进行讲解。
然而,工具本质上只是工具,并不能真正发挥价值。要让自动化测试在测试体系中发挥真正的功效,不仅需要有强大的工具,还需有有效的策略。测试人员不仅要了解如何使用Selenium,还要学习如何充分发挥这个工具的作用,实现自动化测试的价值。重点是如何更好地用工具来实施自动化测试,如何真正让自动化变得越来越有成效。即使未来的主流测试工具不再是Selenium,Python风光不再,核心问题也不会改变。
本书不仅会由浅入深地详述Selenium系列工具的全部功能,还将探讨自动测试的核心问题,讲述如何更好地在实际项目中实施自动化测试,如何真正让自动化测试取得成效,充分发挥其价值。不管是刚刚入门的读者,还是想要进一步提高的读者,都能从本书中有所收获。