Selenium RC如何与浏览器通信

时间:2011-08-08 11:57:31

标签: selenium selenium-rc

selenium如何命令浏览器? 我知道selenium proxy对url和reponse的请求会将selenium core js api注入响应。但“点击”或任何其他命令如何到达浏览器?换句话说,selenium如何调用浏览器页面中注入的selenium core api?

2 个答案:

答案 0 :(得分:2)

Selenium建议使用WebDriver来替换远程控制功能。 TMK,旧代码将Javascript注入浏览器并通过它进行通信。 WebDriver代码为每个浏览器使用本机API。

  

“Selenium-WebDriver使用每个浏览器的本机支持直接调用浏览器   自动化。“通过http://seleniumhq.org/docs/03_webdriver.html#selenium-2-0-features

答案 1 :(得分:1)

Selenium RC在浏览器中运行请求循环(在Selenium窗口或框架中),RC服务器充当客户端和浏览器之间的转发代理。这是序列:

  1. 测试脚本调用Selenium.Click('SUBMIT')
  2. 客户端发出一个HTTP请求,告诉服务器“下次浏览器询问时,告诉它点击'提交'按钮”。
  3. 浏览器可能已经有等待响应的HTTP请求,但如果没有,则很快就会出现。
  4. 当浏览器发送其HTTP请求时,服务器以“点击'提交'按钮”进行响应。
  5. 浏览器执行它所说的内容并向服务器发送另一个HTTP请求,表明该命令已成功。
  6. 服务器通过“OK”响应响应客户端的现有HTTP请求。
  7. Click()例程返回脚本。