基于FitNium的Web关键字驱动的测试(5)
时间:2017-06-09 23:10 来源:毕业论文 作者:毕业论文 点击:次
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 (责任编辑:qin) |