zoukankan      html  css  js  c++  java
  • 基于Selenium2+Java的UI自动化(1)

    一、Selenium2的原理

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

    Selenium2是Selenium1+WebDriver的产物;

    而WebDriver是Google的产品;Google收购Selenium1之后,整合了其自己的WebDriver,推出了Selenium WebDriver ,也就是我们所说的Selenium2。

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

    二、Selenium WebDriver环境搭建-Java

      Selenium Java环境安装可以分为三个部分:jdk、Eclipse、Selenium;
    
     (1)JDK
       1. 可以在官网搜索JDK安装包,现在是JDK1.8,双击就可以安装;
       2. 配置环境变量(不懂怎么配环境变量-找度娘);
       3. 安装完成检测;
    http://hordehome.com/uploads/default/original/2X/c/c1dc1084e25001dd3edfcef98cac1e0e223e3c74.png
    (2)Eclipse
        Eclipse去官网下载安装包,无需安装,解压即可使用,解压到哪个位置自己随意;
        Eclipse下载地址:http://www.eclipse.org/downloads/

    打开Eclipse需要设定workspace,workspace是Eclipse创建的java项目存放的地方;
      (3)Selenium2
       我们共需要3个jar文件:
      selenium-java-2.44.0.jar、
      selenium-java-2.44.0-srcs.jar、
      selenium-server-standalone-2.44.0.jar,可以自行到selenium官网下载;

    环境初步搭建好了,以后就可以用Eclipse写自动化脚本。

    更多详情请关注公众号“软件测试部落”

    史上第一个以“持续集成”方向为主的地址:www.hordehome.com




  • 相关阅读:
    python异常
    linux下进行base64编码解码
    mybatis参数映射
    Mybatis--映射器注解
    Mybatis--映射器注解
    Mybatis--Statement Builders
    Mybatis--Statement Builders
    在MySql中如何定义像Java中类型的Boolean类型
    在MySql中如何定义像Java中类型的Boolean类型
    Navicat导入导出数据表
  • 原文地址:https://www.cnblogs.com/hordehome/p/6110320.html
Copyright © 2011-2022 走看看