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

  • 相关阅读:
    常用DOS命令大全2
    常用DOS命令大全1
    2020年3月13日Java面试记录
    MySQL Transaction--Sprint中访问只读从库的设置
    MySQL Transaction--TPS计算规则
    MySQL Inport--导入数据
    MySQL Export--导出数据
    MySQL--InnoDB并发线程控制
    MySQL--线程池(Thread Pool)
    MySQL 5.7--复制延迟监控
  • 原文地址:https://www.cnblogs.com/leoliyue/p/4875238.html
Copyright © 2011-2022 走看看