• 浅谈 WebDriver如何应对不同浏览器


    selenium2 基于对象的测试,在selenium2中一共支持以下浏览器:
    • Firefox(FirefoxDriver)
    • IE(InternetExplorerDriver)
    • Chrome(ChromeDriver)
    • Opera(OperaDriver)
    • Andriod(AndroidDriver)
    • iPhone(IPhoneDriver)
    一、Firefox浏览器测试
      //打开默认路径的firefor(C:Program Files (x86)Mozilla Firefoxfirefox.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>
     
    需要驱动包的私问我!
     
  • 相关阅读:
    myeclipse中如何自动生成hibernate得POJO和hbm.xml文件
    解决“List is a raw type. References to generic type List”提示的问题
    Struts2文件目录结构
    DropDownlist 选中
    js获取网站根路径(站点及虚拟目录)
    HTML 特殊字符全集
    抽象类和接口的区别
    有关onpropertychange事件
    JS 括号使用分析
    Field.Store ,ANALYZED备忘
  • 原文地址:https://www.cnblogs.com/wysk/p/7460444.html
Copyright © 2020-2023  润新知