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一各很大的区别
 
三、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. [技术博客]基于动态继承类、WebDriver的浏览器兼容性测试框架搭建

    问题背景 观察使用selenium进行自动化测试的过程,我们可以将它概述为: 启动测试进程,在该进程中构建WebDriver 启动浏览器进程,将它与WebDriver建立连接 使用WebDriver向 ...

  2. selenium + python 多浏览器测试

    selenium + python 多浏览器测试 支持库包 在学习 Python + Selenium 正篇之前,先来看下对多浏览器模拟的支持.目前selenium包中已包含webdriver,hel ...

  3. Python多线程Selenium跨浏览器测试

    前言 在web测试中,不可避免的一个测试就是浏览器兼容性测试,在没有自动化测试前,我们总是苦逼的在一台或多台机器上安装N种浏览器,然后手工在不同的浏览器上验证主业务流程和关键功能模块功能,以检测不同浏 ...

  4. 【Python】详解Python多线程Selenium跨浏览器测试

    前言 在web测试中,不可避免的一个测试就是浏览器兼容性测试,在没有自动化测试前,我们总是苦逼的在一台或多台机器上安装N种浏览器,然后手工在不同的浏览器上验证主业务流程和关键功能模块功能,以检测不同浏 ...

  5. Selenium多浏览器测试

    在浏览器的兼容性测试中,会测试产品在不同浏览器上的兼容性,比较主流的浏览器有IE.Firefox.Chrome,Opera,Safari等.还有其它如360.QQ.遨游.百度等浏览器都是基于IE或者c ...

  6. Python+Selenium学习笔记18 - 不开启浏览器测试

    运行脚本时间比较长时可以不打开浏览器测试,这样在测试运行时,电脑还是可以用作其他操作的. 只需要在运行脚本上加上下面代码的678行即可 1 # coding = utf-8 2 3 from sele ...

  7. 《手把手教你》系列技巧篇(二十三)-java+ selenium自动化测试-webdriver处理浏览器多窗口切换下卷(详细教程)

    1.简介 上一篇讲解和分享了如何获取浏览器窗口的句柄,那么今天这一篇就是讲解获取后我们要做什么,就是利用获取的句柄进行浏览器窗口的切换来分别定位不同页面中的元素进行操作. 2.为什么要切换窗口? Se ...

  8. modern.IE – Web 开发必备的 IE 浏览器测试工具

    modern.IE 是微软推出的一个开发人员中心,提供免费的工具和资源,旨在使您能够花更少的时间来测试各种版本的 Internet Explorer,并留出更多时间在现代 Web 上构建重要的内容.m ...

  9. 使用python selenium webdriver模拟浏览器

    selenium是进行web自动化测试的一个工具,支持C,C++,Python,Java等语言,他能够实现模拟手工操作浏览器,进行自动化,通过webdriver驱动浏览器操作,我使用的是chrome浏 ...

随机推荐

  1. TCP传输协议使用

    TCP传输协议,也称之为套接字连接,比较安全,三次握手!,必须确保对方计算机存在,才能连接,而且是长时间连接. 缺点是传输速度有点慢. 你用 socket 去连接 ServiceSocaket 服务器 ...

  2. 在linux中安装git,并将代码发布到github

    楼主Git小白,今天刚刚学习了git,虽然在工作中也许用不到,但是在学习的时候肯定会用到的,毕竟一个程序员首先就要整理自己的知识点,将美丽的代码分享与大家. 楼主是将Git安装在阿里云的centos7 ...

  3. Kafka笔记——技术点汇总

    Table of contents Table of contents Overview Introduction Use cases Manual setup Assumption Configur ...

  4. 【NOIP模拟】table(动态规划)

    题目背景 SOURCE:NOIP2016-RZZ-2 T2 题目描述 给定一个 n×m 的矩阵,行列均从 1 开始标号. 一个矩阵被认为是稳定的,当且仅当对于任意的 2≤i≤n,第 i 行的数的和不小 ...

  5. Carthage的安装和使用

    为什么要使用Carthage CocoaPods是已存在很长时间的Cocoa依赖管理器, 那么为什么要创建Carthage呢? CoaoaPods是一套整体解决方案,我们在Podfile中指定好我们需 ...

  6. Windows远程linux服务器执行shell命令

    一.前言 借用百度百科关于putty的描述:PuTTY是一个Telnet.SSH.rlogin.纯TCP以及串行接口连接软件.较早的版本仅支持Windows平台,在最近的版本中开始支持各类Unix平台 ...

  7. tensorflow dropout函数应用

    1.dropout dropout 是指在深度学习网络的训练过程中,按照一定的概率将一部分神经网络单元暂时从网络中丢弃,相当于从原始的网络中找到一个更瘦的网络,这篇博客中讲的非常详细   2.tens ...

  8. (转)log4j(五)——如何控制不同目的地的日志输出?

    一:测试环境与log4j(一)——为什么要使用log4j?一样,这里不再重述 1 老规矩,先来个栗子,然后再聊聊感受 package test.log4j.test5; /** * @author l ...

  9. java中权限修饰符protected的使用注意事项

    java中四种权限修饰符, 平时编码中最常用的其实public和private, 虽然对protected的概念一直都知道, 但真正使用时才发现有些偏差. protected表示被其修饰的成员可以被本 ...

  10. sort排序错乱问题

    对于sort排序  之前就遇到过这种问题  不过没有在意 今天遇到 就找了一下原理 在这种sort排序中可以看到排序几乎没有什么问题 就是5比较特殊 会在20是的后面 ~ sort()方法开始的时候会 ...