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

    后续再研究

  • 相关阅读:
    C#利用反射动态调用类及方法
    系统程序监控软件
    SQL server 2008 安装和远程访问的问题
    sql server 创建临时表
    IIS 时间问题
    windows 2008 安装 sql server 2008
    sql server xml nodes 的使用
    Window 7sp1 安装vs2010 sp1 打开xaml文件崩溃
    CSS资源网址
    Could not load type 'System.ServiceModel.Activation.HttpModule' from assembly 'System.ServiceModel, Version=3.0.0.0
  • 原文地址:https://www.cnblogs.com/weiweiyao/p/4224722.html
Copyright © 2011-2022 走看看