菜单
  

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

  2. jsp+sqlserver高校二手商品交...

  3. 基于Kinect的手势跟踪与识别算法设计

  4. JAVA基于安卓平台的医疗护工管理系统设计

  5. java+mysql设备监控记录的大...

  6. 基于核独立元分析的非线...

  7. 基于Hadoop的制造过程大数据存储平台构建

  8. 大众媒体对公共政策制定的影响

  9. 杂拟谷盗体内共生菌沃尔...

  10. 十二层带中心支撑钢结构...

  11. 河岸冲刷和泥沙淤积的监测国内外研究现状

  12. java+mysql车辆管理系统的设计+源代码

  13. 乳业同业并购式全产业链...

  14. 酸性水汽提装置总汽提塔设计+CAD图纸

  15. 电站锅炉暖风器设计任务书

  16. 当代大学生慈善意识研究+文献综述

  17. 中考体育项目与体育教学合理结合的研究

  

About

751论文网手机版...

主页:http://www.751com.cn

关闭返回