selenium2 基于对象的测试,在selenium2中一共支持以下浏览器:
  • Firefox(FirefoxDriver)
  • IE(InternetExplorerDriver)
  • Chrome(ChromeDriver)
  • Opera(OperaDriver)
  • Andriod(AndroidDriver)
  • iPhone(IPhoneDriver)
一、Firefox浏览器测试
  //打开默认路径的firefor(C:\Program Files (x86)\Mozilla Firefox\firefox.exe)
  package Test;
  import org.openqa.selenium.*;
  import org.openqa.selenium.firefox.FirefoxDriver;
  //打开firefox浏览器
  public class TestDemo1 {
    public static void main(String[] args) {
     WebDriver driver;
    //默认打开是去C盘下面去找,但是我们不是安装在C盘下,所以要指明路径 setProperty()设置指定键对值的系统属性
    System.setProperty("webdriver.firefox.bin","F:\\软件安装\\firefox\\firefox.exe"); //双斜杠是转义
    //实例化一个对象firefox
    driver=new FirefoxDriver();
    String testUrl="http://192.168.3.86:8701/yunling-pac-adm/login.jhtml";
     driver.get(testUrl);
    driver.quit();
   }
}
注:如果浏览器启动不能打开网页,可能是firefox版本过高
 
二、Chrome浏览器测试
  chrome在 webdriver中没有自带的驱动,需要网上下载一个
  WebDriver driver=new ChromeDriver();
  System.setProperty("webdriver.chrome.driver", "E:\\webdriver\\chromedriver\\chromedriver.exe");
  //这是与firefox一各很大的区别
下载地址:http://npm.taobao.org/mirrors/chromedriver/
 
 
三、IE浏览器测试
  也需要下载驱动
  System.setProperty("webdriver.ie.driver", "F:\\webdriver\\iedriver\\IEDriverServer.exe");
  driver=new InternetExplorerDriver();
 
四、使用Mac系统中的Safari浏览器测试
  环境准备:在Mac系统中默认都会安装Safari浏览器,所以无需进行特别的安装配置,使用webdriver自动化无需下载驱动程序
  直接实例化浏览器对象
  WebDriver driver = new SafariDriver() ;
 
五、使用TestNG进行并发兼容性测试
  Web项目中经常会进行浏览器的兼容性测试,而兼容性测试的工作重复性相当高,TestNG提供了并发执行测试用例的功能,可以让测试用例以并发的形式执行,实现并发测试不同浏览器的兼容性测试需求。
  测试用例说明:分别使用IE,Chrome,Firefox浏览器,并发方式打开sogou首页中搜索某个关键词。
  测试代码:
  public class BingFaTest {
  private WebDriver driver;
  private String baseUrl="http://www.sogou.com";
 
  @Parameters("browser")
  @BeforeClass
  public void BeforeTest(String Browser){
    if(Browser.equalsIgnoreCase("firefox")){
    System.setProperty("webdriver.firefox.bin", "F:\\firefox\\firefox.exe");
    driver=new FirefoxDriver();
      }else if (Browser.equalsIgnoreCase("ie")) {
        System.setProperty("webdriver.ie.driver", "F:\\webdriver\\iedriver\\IEDriverServer.exe");
          driver=new InternetExplorerDriver();
     }else {
       System.setProperty("webdirver.chrome.driver", "E:\\webdriver\\chromedriver\\chromedriver.exe");
      driver=new ChromeDriver();
    }
    driver.get("http://www.sogou.com");
  }
 
  @Test
  public void testSougoSearch() throws InterruptedException {
    driver.get(baseUrl);
    driver.findElement(By.id("query")).sendKeys("自动化测试");
      driver.findElement(By.id("stb")).click();
    Thread.sleep(10000);
    Assert.assertTrue(driver.getPageSource().contains("自动化"));
  }
 
    @AfterClass
    public void AfterClass(){
    driver.close();
  }
}
 
  TestNG.xml
  <?xml version="1.0" encoding="UTF-8"?>
  <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
  <suite name ="Suite" parallel="tests" thread-count="3">
  <test name ="FirefoxTest">
   <parameter name="browser" value="firefox"/>
  <classes >
   <class name="cn.gloryroad.BingFaTest"/>
  </classes>
   </test>
  <test name="IETest">
  <parameter name="browser" value="ie"/>
  <classes>
  <class name="cn.gloryroad.BingFaTest"/>
  </classes>
  </test>
  <test name="ChromeTest">
  <parameter name="browser" value="chrome"/>
   <classes>
  <class name="cn.gloryroad.BingFaTest"/>
  </classes>
  </test>
  </suite>
 
需要驱动包的私问我!
 

浅谈 WebDriver如何应对不同浏览器的更多相关文章

  1. 浅谈配置chrome浏览器允许跨域操作的方法

    浅谈配置chrome浏览器允许跨域操作的方法 一:(Lying人生感悟.可忽略) 最近有一天,对着镜子,发现满脸疲惫.脸色蜡黄.头发蓬松.眼神空洞,于是痛诉着说生活的不如意,工作没激情,工资不高,一个 ...

  2. 【ASP.NET MVC系列】浅谈Google Chrome浏览器(操作篇)(下)

    ASP.NET MVC系列文章 [01]浅谈Google Chrome浏览器(理论篇) [02]浅谈Google Chrome浏览器(操作篇)(上) [03]浅谈Google Chrome浏览器(操作 ...

  3. 浅谈关于QT中Webkit内核浏览器

    关于QT中Webkit内核浏览器是本文要介绍的内容,主要是来学习QT中webkit中浏览器的使用.提起WebKit,大家自然而然地想到浏览器.作为浏览器内部的主要构件,WebKit的主要工作是渲染.给 ...

  4. 【架构】浅谈web网站架构演变过程

    浅谈web网站架构演变过程   前言 我们以javaweb为例,来搭建一个简单的电商系统,看看这个系统可以如何一步步演变.   该系统具备的功能:   用户模块:用户注册和管理 商品模块:商品展示和管 ...

  5. 浅谈Ddos攻击攻击与防御

    EMail: jianxin#80sec.comSite: http://www.80sec.comDate: 2011-2-10From: http://www.80sec.com/ [ 目录 ]一 ...

  6. 浅谈PHP技术应用

    序号:1210-41 黑龙江省高等教育自学考试 本科毕业论文 题    目    浅谈PHP技术 学员姓名    夏滟 专    业    计算机及应用 准考证号    010311192585 指导 ...

  7. 浅谈Tomcat和Servlet

    本文浅谈下对Tomcat和Servlet总体的理解,初学时有用过一段时间,但当时疲于应对如何xml配置和使用,对他们的理解就像是一个黑匣子.现在回顾一下帮助自己加深网络的理解.开始还是先推荐我看的文章 ...

  8. 转载-浅谈Ddos攻击攻击与防御

    EMail: jianxin#80sec.comSite: http://www.80sec.comDate: 2011-2-10From: http://www.80sec.com/ [ 目录 ]一 ...

  9. 前端性能优化--为什么DOM操作慢? 浅谈DOM的操作以及性能优化问题-重绘重排 为什么要减少DOM操作 为什么要减少操作DOM

    前端性能优化--为什么DOM操作慢?   作为一个前端,不能不考虑性能问题.对于大多数前端来说,性能优化的方法可能包括以下这些: 减少HTTP请求(合并css.js,雪碧图/base64图片) 压缩( ...

随机推荐

  1. Python 中关于 round 函数的小坑

    参考: http://www.runoob.com/w3cnote/python-round-func-note.html

  2. 解决Jupyter notebook[import tensorflow as tf]报错

    参考: https://blog.csdn.net/caicai_zju/article/details/70245099

  3. Kettle中表输出字段和字段选择

    表输出: 字段选择: 注:字段选择可以输出匹配后的选中列,表输出则输出匹配后的所有列.

  4. curl 命令 从文件读取参数

    -d @filename 从文件读入内容-d @- 从stdin读入内容 -x localhost:8888   加上fiddler代理 一个sample curl -K api.conf -d @b ...

  5. LODOP用ADD_PRINT_IMAGE语句缩放打印图片

    LODOP提高输出图片质量的方法:1.用ADD_PRINT_IMAGE语句打印图片,而且img元素的width和height属性要去掉或者设置足够大,这样就可以让下载引擎传给Lodop图片质量足够好; ...

  6. Civil 3d设置横断面图样式

    一位网友提出这样一个问题: 在使用SectionView.StyleName属性时, 会抛出异常:need to override property StyleName. 我测试的结果一样, 同时测试 ...

  7. python 文件下载

    为了演示urllib3的使用,我们这里将会从一个网站下载两个文件.首先,需要导入urllib3库: import urllib3 这两个文件的源url为: url1 = 'http://earthqu ...

  8. BZOJ2428[HAOI2006]均分数据——模拟退火

    题目描述 已知N个正整数:A1.A2.…….An .今要将它们分成M组,使得各组数据的数值和最平均,即各组的均方差最小.均方差公式如下: ,其中σ为均方差,是各组数据和的平均值,xi为第i组数据的数值 ...

  9. 数据库 -- mysql记录操作

    一,概括 MySQL数据操作: DML 在MySQL管理软件中,可以通过SQL语句中的DML语言来实现数据的操作,包括 使用INSERT实现数据的插入 UPDATE实现数据的更新 使用DELETE实现 ...

  10. codechef EBAIT Election Bait【欧几里得算法】

    题目分析: 欧几里得算法来处理一类分数问题,分数问题的形式如下 $\frac{a}{b} < \frac{p}{q} < \frac{c}{d}$ 当a=0时,答案等于$\frac{1}{ ...