Selenium RC(Selenium 1.0)的工作原理

在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的工作流程



  1. 测试用例(TestCase)通过Client Libraries的接口向Selenium Server发送Http请求,要求和Selenium Server建立连接。

  2. Selenium Server的Launcher启动浏览器,把Selenium Core加载入浏览器页面当中,并把浏览器的代理设置为Selenium Server的Http Proxy。

  3. 测试用例通过Client Libraries的接口向Selenium Server发送Http请求,Selenium Server对请求进行解析,然后通过Http Proxy发送JS命令通知Selenium Core执行操作浏览器的动作。

  4. Selenium Core接收到指令后,执行操作。

  5. 浏览器收到新的页面请求信息(因为在第4步中,Selenium Core的操作可能引发新的页面请求),发送Http请求,请求新的Web页面。由于Selenium Server在启动浏览器时做了手脚,所以Selenium Server会接收到所有由它启动的浏览器发送的请求。

  6. Selenium Server接收到浏览器的发送的Http请求后,自己重组Http请求,获取对应的Web页面。

  7. Selenium Server的Http Proxy把接收的Web页面返回给浏览器

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值