zoukankan      html  css  js  c++  java
  • selenium的原理及其发展史

    Selenium1 介绍

    ThoughtWorks的测试人员为了减少手工测试,实现了一套基于javaScript语言的代码库,可分为Selenium IDE 、Selenium RC和Selenium Grid

    其中Selenium IDE是Firefox的插件,负责录制和回放脚本,

    Selenium Grid在不同的环境以并发的方式执行脚本,来缩短测试时间。

    Selenium RC支持多浏览器、不同的汇编语言,

    由于自身的是实现机制,selenium无法突破浏览器的沙盒限制(JavaScript的安全机制——同源策略,外部引用的JavaScript文件URL和当前网页的域名不一致,浏览器会拒绝只想此JavaScript文件中的代码),以至于很多场景无法实现。

    Selenium2的介绍

    Selenium1+webdriver

    Webdriver 直接让测试工具调用浏览器和操作系统的本身提供的内置方法。更好的模拟真实环境。而且绕过JavaScript的沙盒限制,所以将这2个项目进行了合并。

    Webdriver的原理。

    由于客户端脚本(java, python, ruby)不能直接与浏览器通信,这时候可以把WebService(实际上就是浏览器厂商提供的driver, 比如IEDriver, ChromeDriver,它们都实现了WebDriver's wire protocol.)

    当做一个翻译器,它可以把客户端代码翻译成浏览器可以识别的代码(比如js).客户端(也就是测试脚本)创建1个session,在该session中通过http请求向WebService发送restful的请求,WebService翻译成浏览器懂得脚本传给浏览器,浏览器把执行的结果返回给WebService,WebService把返回的结果做了一些封装(一般都是json格式),然后返回给client,根据返回值就能判断对浏览器的操作是不是执行成功

    Selenium3的介绍

  • 相关阅读:
    Repeater添加删除按钮
    C# Excel导出后台代码
    MOSS层级结构Excel导入SPList
    Excel导入到datatable
    层级结构SPList导出到Excel
    SPlist按PID层级顺序导入datatable
    .NET导出Excel遇到的80070005错误的解决方法:
    datatable转到Excel
    MOSS获取SPListItem某版本
    sharepoint实现假分页
  • 原文地址:https://www.cnblogs.com/AllenRandolph/p/9761391.html
Copyright © 2011-2022 走看看