• 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后,就会响应,这套协议就会告诉浏览器这时候需要干什么事……

  • 相关阅读:
    mybatis系列-04-mybatis开发dao的方法
    mybatis系列-03-入门程序
    mybatis系列-02-mybatis框架
    mybatis系列-01-JDBC
    对代码的理解
    jenkins api调用
    lcov收集覆盖率
    Spring MVC @ModelAttribute
    shell文件/路径处理
    gcc static静态编译选项提示错误修正(/usr/lib/ld: cannot find -lc)
  • 原文地址:https://www.cnblogs.com/leoliyue/p/4875238.html
Copyright © 2020-2023  润新知