Web 测试是软件测试中比较重要的一个分支,而要实现 Web 自动化测试则要求测试人员能熟练掌握自动化测试工具和编程语言。介绍免费开源的 Web 测试工具 Selenium,以及流行的编程语言 Python。根据自动化测试的原理,对网页元素的常用定位方式,如何对页面元素进行操作进行重点叙述。结合工作实际分析自动化测试的基本流程,即分析测试需求、编写测试用例、搭建测试环境、创建测试脚本、执行测试及测试结果分析。最后对自动化测试的实践进行总结和展望,为后续更好地开展测试工作奠定基础.
与手工测试类似,自动化测试也需要制定测试计划,根据软件需求规格说明书分析测试需求,使用黑盒、白盒等方法设计测试用例,在搭建好测试环境的基础上使用相关语言编写自动化脚本,执行测试并记录缺陷等。当然在执行自动化脚本之前也需要进行手工测试,为更好地发现缺陷奠定坚实的基础。
1 自动化测试技术
1.1测试工具
根据被测软件的类型不同,可以选择不同的测试工具。例如针对桌面应用,主流的测试工具有 UTF、Auto Runner 等;如果测试的是 Web 系统,Selenium 则是一种非常不错的选择。
Selenium 是一款免费、开源的分布式的自动化测试工具,对商业用户也没有任何限制;支持多种平台,可以在 Windows、Linux、Mac 和 Solaris 等多种操作系统上运行;支持多种浏览器,包括 IE、Firefox、Safari、Opera、Chrome 等;使用方便,支持脚本录制,可以将测试用例分布到不同的测试机器上执行;支持多种语言,包括C、Java、Ruby、Python、C#等。
1.2Python语言
Python 是一门优雅而健壮的编程语言,它继承了传统编译语言的强大性和通用性,同时也借鉴了简单脚本和解释语言的易用性。它的特点包括:代码简洁、短小,开源、跨平台,面向对象,可扩展性好等,因此它被应用于数据分析与处理、网络爬虫、Web 应用开发、人工智能、自动化测试等多个领域。
在自动化测试领域既可以使用 Python 的标准库 PyUnit 作为自动化测试框架,也可以使用 Robot Frame⁃work 等自动化测试框架来开展工作,该框架具备良好的可扩展性,支持关键字驱动,可以同时测试多种类型的客户端或者接口,可以进行分布式测试执行。
2 网页元素定位
自动化功能测试工具 Selenium 可以模仿人类对网页进行自动化的操作,那么要实现对网页元素的操作,就要能够精准地对网页元素进行定位。可以用于定位的常用的 Web 页面元素的属性有:id、name、class name、link text、XPath 和 CSS Selector 等。下面我们重点介绍常用的四种方法。
2.1通过id属性进行定位
如果 Web 页面中的 id 不是动态的,则一个页面的 id 是唯一的。该方法通过查找 Web 页面上的元素 id值来获取元素,但是对于动态分配 Web 元素 id 的情况,这种方法不能使用。
例如:百度首页搜索框的源代码如下:
<input id="kw