zoukankan      html  css  js  c++  java
  • 简要总结selenium四个工具组

    selenium 是基于WEB的自动化测试工具。

    由以下几个工具组组成

    1.selenium IDE: 一个火狐插件

    点击这个插件就进入录制界面,能够记录用户的操作,并且将其导出为可重复使用的测试脚本,并且支持多种语言

    优点:

    无需编程技能即可快速上手

    缺点:

    1.分散的脚本不可重用且难以维护,一旦UI发生变化测试就很受影响。

    2.系统在测试之前必须可用。不适用于ATDD

    3.仅支持firefox,不支持其他浏览器,无法做浏览器兼容性测试

    2.selenium RC (selenium 1):

    运行原理:在浏览器中注入javaScript(selenium core)来执行测试

    优点:

    支持的浏览器多,几乎支持所有的浏览器

    缺点 :

    1.需要开始selenium server服务。

    1.为了防止恶意的javaScript,所有浏览器都加强了对javaScript的安全策略,所以有些场景selenium 1没法支持。

    (浏览器由于安全问题不允许不同域之间的JS调用,而selenium1中的工作方式就是在宿主页面注入JS并且通过调用JS来执行测试操作的)

    2.编程方式更偏向于面向过程,可能会导致项目中一大堆重复的方法

    举例:

    1.先开启server服务:

    java -jar  C:Usersqiuwy.m2 epositoryorgseleniumhqseleniumselenium-server2.44.0selenium-server-standalone-2.40.0.jar

    2.支持测试

    测试代码:

    import org.junit.Test;

    import com.thoughtworks.selenium.DefaultSelenium;

    public class OpenBaiduBySelenium1 {

       @Test

       public void openbaiduSelenium1(){

          //实例化selenium1对象;

          //第一个参数是selenium服务器的主机名称或ip地址;第二个参数是服务器端口,默认是4444;

          //第三个参数是加载对应的浏览器;第四个参数是起始url,浏览器会指向该url上的selenium资源(这个我也不是很明白)

          DefaultSelenium selenium=new DefaultSelenium("localhost",4444,"*firefox","http://www.baidu.com");

          //启动浏览器

          selenium.start();

          //在浏览器打开http://www.baidu.com

          selenium.open("http://www.baidu.com");

          //在百度搜索框输入“selenium

          selenium.type("id=kw", "selenium");

          //点击“百度一下”按钮

          selenium.click("id=su");

          System.out.println(selenium.getTitle());

       }

    }

     

    3.selenium 2(webdriver)

    运行原理:通过原生浏览器支持或者是浏览器扩展直接控制浏览器

    (原生浏览器是指火狐、IE、谷歌(Chrome)、Safari、Opera等这一类拥有完整独立内核的浏览器)

    优点:

    1.提供了一套友好的API,使得自动化测试代码的可读性和可维护性大大提高

    2.相对selenium1来说,selenium2的运行速度快些。

    3.可以驱动本地浏览器,从而确保测试的行为能够尽可能地接近于用户行为

    4.能够绕过js限制

    5.支持Android(AndroidDriver)和iPhone(iPhoneDriver)的移动应用测试。

    6.还可以做无界面的前端自动化测试,HtmlDriver

    缺点:

    支持的浏览器少,firefox(FriefoxDriver),ie(InternetExploerDriver),opera(OperaDriver),chrome(ChromeDriver)

    举例:

       @Test

       public void openBaiduByFirefoxDriver(){

          WebDriver driver =new FirefoxDriver();

            driver.get("http://www.baidu.com");

            driver.findElement(By.id("kw")).sendKeys("HtmlUnit");;//在搜索输入框里输入"HtmlUnit"

            driver.findElement(By.id("su")).click();//点击“百度一下”按钮

            System.out.println("页面标题:"+driver.getTitle()); 

            System.out.println("页面URL:"+driver.getCurrentUrl());//返回当前页面的URL 

            driver.close();

       }

    4.Selenium Grid

    能够让测试用例在不同环境不同时间并行测试,从而提高测试效率。支持selenium 1和selenium2

    后续再研究

  • 相关阅读:
    [BZOJ2661][BeiJing wc2012]连连看 费用流
    <meta> 标签
    CSS3 Transitions, Transforms和Animation的使用
    word-wrap和word-break的区别吗?
    css3中比较少用到的属性记录
    CSS ::Selection的使用方法
    CSS 属性
    javascript正则表达式语法
    jquery metadata 详解
    关于window.console&&console.log(123)的思考
  • 原文地址:https://www.cnblogs.com/weiweiyao/p/4224722.html
Copyright © 2011-2022 走看看