菜单
  

    2、 RC工作原理
    从上一节中知道,Selenium Server在测试过程中负责控制浏览器的行为,在Selenium架构中主要承担三个角色,启动<Launcher>浏览器、充当浏览器请求时的HTTP代理<Proxy>,提供Selenium Core。由于Selenium Core本身是由JavaScript编写,需要在浏览器端执行,又由于同源策略的问题,作为RC工作的引擎,理论上它需要在AUT服务器端进行安装。为了解决同源策略问题,在SServer中,提供了一个HTTP代理用以保证来自Selenium的JS文件看似来自于AUT的远程服务器,从而能够在打开AUT的浏览器标签页内正常执行。
    在实际的测试过程中,需要有测试用例<Test Cases>、浏览器、Selenium RC、被测Web Application等模块,各部分的关系如图2.7所示:
               
    图2.7 测试实例模块图
    使用Selenium RC进行Web自动化测试,需要准备Selenium RC运行环境、编写测试用例脚本、安装RC支持的浏览器、能访问的待测应用程序<AUT>。Selenium RC工具提供多种高级语言支持,测试人员可以选择熟悉的语言编写测试用例驱动程序,测试用例通过调用相应的语言驱动接口,完成与Selenium Server之间的通信。
    基于Selenium的测试属于非侵入的,即测试人员无需修改被测Web应用的任何代码,也无需操作被测Web服务器,因此可对远程任何一个Web应用进行自动测试,如baidu,google等。
    基于Selenium的Web应用测试也存在缺陷,主要是测试用例的描述,底层Selenese是数据驱动或表驱动的,高层需要采用高级编程语言来实现,如JUnit,Python等。
    3、 一个使用RC的具体例子
        首先搭建Java环境,打开eclipse sdk工具(下载地址见参考文献[32])。
        第一步:创建一个项目,点击菜单new--project,如下图2.8:
            
    图2.8 创建一个项目
    第二部:导入需要的包,右键点击创建的项目,选择Build Path--Add External Archives。导入需要的包完成后如图2.9:
     
    图2.9 导入需要的包
    Junit-4.10.jar  :在下载的junit 4压缩包里。下载地址见参考文献[35]。
    Selenium-java-client-driver.jar:在下载的selenium-remote-control-1.0.3文件夹下。selenium-remote-control-1.0.3 下载地址见参考文献[31]。
    Selenium-server.jar:在下载的selenium-remote-control-1.0.3文件夹下。
    第三步:把录制的脚本导出为junit 4类型的代码,导出代码见上面2.1.1介绍Selenium IDE导出脚本,我这里保存为test.java并复制到我的项目中Src文件夹下的com.test包中,如图2.10:
     
    图2.10 test.java
    第四步:下面要启动服务。开始---运行---cmd 打开命令提示符。定位到…selenium-remote-control-1.0.3\selenium-server-1.0.3>目录下。输入:java -jar selenium-server.jar 回车。服务就启动了。如图2.11:
     
    图2.11 启动服务
    最后,下面在eclipse是运行,test.java程序。将自动调用的浏览器开始运行脚本了,运行结果和前面录制过程一致,该例子就到此结束。
    Selenium工具相比目前其他测试工具,具有高扩展、跨平台、多浏览器支持的特点。表2.2[37]列出了Selenium各组件所支持的浏览器和操作系统平台。
    表2.2 Selenium组件支持平台
    Selenium 组件    浏览器    功能    运行平台
    Selenium IDE     Firefox 2、3、3.x    录制/回放测试用例    Windows、Linux、 Mac
        IE 6、7、8    通过Selenium RC 扩展,执行测试用例    Windows
        Safari 2、3、4        Windows、Mac
  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

关闭返回