Selenium RC(Selenium 1.0)的工作原理
2016-04-18 10:20
169 查看
在Selenium+JUnit自动化测试方案(一)中,介绍了Selenium和一种快速开始Selenium自动化测试的Firefox插件Selenium IDE。
本文将介绍一种完整的Selenium框架 Selenium RC。
Selenium RC 使用编程语言编写脚本,通过Selenium RC服务器作为代理服务器去访问应用从而达到测试的目的。
由于Selenium RC不再需要依附Firefox,所以其可以在其它更多的浏览器上进行测试。
Selenium RC的使用包括两部分:
第一部分是服务器。服务器下载后即可使用,记得开始跑脚本时把服务器打开。它是一个已经打包好的JAVA程序,运行 java -jar selenium-server.jar即可。
另一部分是脚本,脚本需要我们自己编写。它可以使用多种语言编写,如C#、Ruby、JAVA等,在这里我采用的是JAVA。它可以在多个测试框架上应用,比JUnit/Nunit,Testng等,这里采用的是Junit。在整个测试框架中,Selenium提供了封装好的Selenium接口与类,如果使用JUnit它同样提供了封装好的测试类。
Selenium IDE和Selenium RC对浏览器的支持情况比较
Selenium RC的框架
Selenium RC的程序文件同样包括两个部分。
Selenium Server:负责控制浏览器行为,它主要包括3个部分:Launcher,Http Proxy,Selenium Core。其中Selenium Core是被Selenium Server嵌入到浏览器页面中的。其实Selenium Core就是一堆JS函数的集合,就是通过这些JS函数,我们才可以实现用程序对浏览器进行操作。
Client Libraries:提供了编写测试用例控制Selenium Server所需的多种编程语言库。
Selenium RC的工作流程
测试用例(TestCase)通过Client Libraries的接口向Selenium Server发送Http请求,要求和Selenium Server建立连接。
Selenium Server的Launcher启动浏览器,把Selenium Core加载入浏览器页面当中,并把浏览器的代理设置为Selenium Server的Http Proxy。
测试用例通过Client Libraries的接口向Selenium Server发送Http请求,Selenium Server对请求进行解析,然后通过Http Proxy发送JS命令通知Selenium Core执行操作浏览器的动作。
Selenium Core接收到指令后,执行操作。
浏览器收到新的页面请求信息(因为在第4步中,Selenium Core的操作可能引发新的页面请求),发送Http请求,请求新的Web页面。由于Selenium Server在启动浏览器时做了手脚,所以Selenium Server会接收到所有由它启动的浏览器发送的请求。
Selenium Server接收到浏览器的发送的Http请求后,自己重组Http请求,获取对应的Web页面。
Selenium Server的Http Proxy把接收的Web页面返回给浏览器
本文将介绍一种完整的Selenium框架 Selenium RC。
Selenium RC 使用编程语言编写脚本,通过Selenium RC服务器作为代理服务器去访问应用从而达到测试的目的。
由于Selenium RC不再需要依附Firefox,所以其可以在其它更多的浏览器上进行测试。
Selenium RC的使用包括两部分:
第一部分是服务器。服务器下载后即可使用,记得开始跑脚本时把服务器打开。它是一个已经打包好的JAVA程序,运行 java -jar selenium-server.jar即可。
另一部分是脚本,脚本需要我们自己编写。它可以使用多种语言编写,如C#、Ruby、JAVA等,在这里我采用的是JAVA。它可以在多个测试框架上应用,比JUnit/Nunit,Testng等,这里采用的是Junit。在整个测试框架中,Selenium提供了封装好的Selenium接口与类,如果使用JUnit它同样提供了封装好的测试类。
Selenium IDE和Selenium RC对浏览器的支持情况比较
Selenium RC的框架
Selenium RC的程序文件同样包括两个部分。
Selenium Server:负责控制浏览器行为,它主要包括3个部分:Launcher,Http Proxy,Selenium Core。其中Selenium Core是被Selenium Server嵌入到浏览器页面中的。其实Selenium Core就是一堆JS函数的集合,就是通过这些JS函数,我们才可以实现用程序对浏览器进行操作。
Client Libraries:提供了编写测试用例控制Selenium Server所需的多种编程语言库。
Selenium RC的工作流程
测试用例(TestCase)通过Client Libraries的接口向Selenium Server发送Http请求,要求和Selenium Server建立连接。
Selenium Server的Launcher启动浏览器,把Selenium Core加载入浏览器页面当中,并把浏览器的代理设置为Selenium Server的Http Proxy。
测试用例通过Client Libraries的接口向Selenium Server发送Http请求,Selenium Server对请求进行解析,然后通过Http Proxy发送JS命令通知Selenium Core执行操作浏览器的动作。
Selenium Core接收到指令后,执行操作。
浏览器收到新的页面请求信息(因为在第4步中,Selenium Core的操作可能引发新的页面请求),发送Http请求,请求新的Web页面。由于Selenium Server在启动浏览器时做了手脚,所以Selenium Server会接收到所有由它启动的浏览器发送的请求。
Selenium Server接收到浏览器的发送的Http请求后,自己重组Http请求,获取对应的Web页面。
Selenium Server的Http Proxy把接收的Web页面返回给浏览器
相关文章推荐
- spring mvc json 直接把一个对象转换成json格式输出到jsp页面
- 猜数字
- 给Ajax一个漂亮的嫁衣——Ajax系列之五(下)之序列化和反序列化
- Android里Service的bindService()和startService()混合使用深入分析
- Servlet Filter
- RazorEngine 学习笔记
- jquery.validate 验证机制
- PHP下利用PHPMailer配合QQ邮箱下的域名邮箱发送邮件
- matlab生成dll
- 使用js简单实现javaMap
- form 的submit提交没有反应
- iOS上传图片
- 深入剖析Auto Layout,分析iOS各版本新增特性
- Android应用程序(APK)的编译打包过程
- mysql乱码解决
- H3C IPv6
- Android ViewDragHelper(1)
- Android ZIP文件提取classes.dex文件签名校验绕过漏洞
- JDBC
- 连接数据库