图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能够轻松完成包括复杂条件逻辑控制、循环迭代和数据库集成等复杂的测试任务。
上一篇:VC++有向无环图所有拓扑序列的生成
下一篇:移动通信网络位置跟踪技术的模拟

基于Apriori算法的电影推荐

PHP+IOS的会议管理系统的设计+ER图

数据挖掘在电子商务中的应用

数据挖掘的主题标绘数据获取技术与实现

基于PageRank算法的网络数据分析

基于神经网络的验证码识别算法

基于网络的通用试题库系...

AT89C52单片机的超声波测距...

志愿者活动的调查问卷表

神经外科重症监护病房患...

医院财务风险因素分析及管理措施【2367字】

公寓空调设计任务书

10万元能开儿童乐园吗,我...

承德市事业单位档案管理...

国内外图像分割技术研究现状

C#学校科研管理系统的设计

中国学术生态细节考察《...