zoukankan      html  css  js  c++  java
  • Selenium2原理

      Selenium1是Thoughtworks公司的一个产品经理为了解决重复烦燥的验收工作,写的一个自 动化测试工具,其是用JS注入的方式来模拟人工的操作,但是由于JS的同源策略,也就是JS只能在个域中的页面进行通讯,如果跨域,则就不能访问了,所以导致了如果页面中有iframe 时,就无法操作了。

      Selenium2是selenium+webdriver的产物,webdriver是google的产品, google收购selenium1后,整合了其自已的webdriver,推出了selenium webdriver,也就是我们所说的selenium2。Selenium2很好的解决了这个JS注入的安全性问题,其实现原理就从根本上改变了,selenium2在启动webdriver的过程中,会首先确认比较浏览器与driver是否匹配, 如果匹配,就会启动浏览器,然后把浏览器绑定在某一个端口,且在浏览器中启动一整套web service,这套web service使用了selenium2自已定义的协议,这套协议在主流浏览器中是通用 的,然后浏览器此时就作为了一个server, 测试脚本就作为了一个client, client发送的任何一个 selenium2的API都被转成了一个http request, 当web service接收到这个request后,就会响应,这套协议就会告诉浏览器这时候需要干什么事……

  • 相关阅读:
    前端提示“页面正在载入”的功能实现
    JSON那些事
    如何让nodejs同步操作
    nodejs的一些局限
    《javascript高级程序设计》读书笔记——作用域
    svn教程
    从雷军谈小米中的一些思考
    云Vps安全设置
    不同服务器数据库之间的数据操作
    C#语言的Excel文件导入导出
  • 原文地址:https://www.cnblogs.com/leoliyue/p/4875238.html
Copyright © 2011-2022 走看看