基于FitNium的Web关键字驱动的测试(4)
时间:2017-06-09 23:10 来源:毕业论文 作者:毕业论文 点击:次
图2.4 Selenium IDE回放 最后脚本调试完毕之后,将脚本保存成自己需要的代码即可,本文存成java代码脚本。 如图2.5: 图2.5脚本代码转换 保存后的脚本java代码为: package com.example.tests; import com.thoughtworks.selenium.*; import org.testng.annotations.*; import static org.testng.Assert.*; import java.util.regex.Pattern; public class java1 extends SeleneseTestNgHelper { @Test public void testJava1() throws Exception { selenium.open("/"); selenium.type("id=kw", "中国"); selenium.click("id=su"); } } 2.1.2 Selenium RC 全称为Selenium Remote Control。Selenium RC包含Selenium Core,能针对任何支持JavaScript的浏览器进行页面自动化测试。Selenium Core是Selenium技术中的核心驱动模块,是一个由JavaScript脚本语言编写的驱动工具,可以操作Web页面中HTML标签元素,是Selenium IDE和Selenium RC工作的驱动引擎。 它在Web浏览器与被测Web应用之间架设一个代理服务器(Selenium Server),采用Java语言实现,使得JavaScript引擎与被测Web应用同源,绕开同源策略(见2.1.3介绍)的限制(Same Origin Policy),进而取得对Web页面进行各种操作的权限。提供多种编程语言支持,具有多种浏览器支持,使用灵活,易于扩展,便于文护的特点。 Selenium RC作为Selenium框架中的主要工具,支持使用高级编程语言如Java、PHP、Ruby、C#等编写Web页面测试脚本,同时几乎支持目前所有主流浏览器。其编写的测试脚本能够跨平台运行。运用Selenese编写的脚本命令能够通过Selenium RC转换成相应的高级语言脚本,实现各种复杂的逻辑测试。 1、RC组件 Selenium RC工具中,主要由两个组件协同工作来实现RC的功能。分别是Selenium Server(以下称SServer)和Client libraries。在实际过程中,RC组件的功能如表2.1所示: 表2.1 Selenium RC组件功能 组件名称 功能描述 Selenium Server 1、 为测试过程启动和关闭浏览器 2、 解释和运行与测试用例脚本对应的Selenium命令 3、 扮演HTTP代理服务器角色,拦截和验证HTTP协议信息以绕过同源策略实现浏览器与AUT之间通信。 Client libraries 1、 提供客户端驱动功能 2、 为所支持的编程语言提供与Selenium Server之间的通信接口,实现RC客户端与服务器之间信息交互。 Selenium服务器负责传递JavaScript脚本形式的Selenese测试命令到浏览器端执行,在浏览器端,通过调用JavaScript解释器来执行Selenese命令,这个过程会执行命令中指定的Actions并验证每一个操作过程的结果。图2.6显示了Selenium Server、Client libraries 与客户端之间的关系: 图2.6 Selenium RC架构图[40] 图2.6清晰描述了Selenium RC各组件与浏览器、用户测试用例之间的关系。测试人员使用Java、PHP等高级语言编写测试驱动代码时,通过调用Client libraries所提供的客户端驱动类,实现测试用例驱动程序与相应的Selenese命令之间的映射,从而实现与SServer之间的通信,SServer中的Selenium Core通过调用浏览器的JS解释器来解释并执行Selenese测试命令,从而实现测试脚本在浏览器端对AUT的测试。Selenium RC能够轻松完成包括复杂条件逻辑控制、循环迭代和数据库集成等复杂的测试任务。 (责任编辑:qin) |