并发兼容性测试

Web测试项目中经常进行浏览器兼容性相关的测试工作,因为兼容性测试的工作重复性相当高,所以导致手工测试效率低下测试人员积极性降低。TestNG提供了并发执行测试用例的功能,可以让测试用例以并发的形式执行,实现测试不同浏览器的兼容性测试。

  下面代码中分别使用Chrome、Firefox和IE浏览器,TestNG以并发方式去百度搜索“selenium”然后校验搜索结果。

  测试类中代码:

复制代码
package com.selenium;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.ie.InternetExplorerDriver;
import org.testng.annotations.Parameters;
import org.testng.annotations.BeforeClass;
import org.testng.Assert;
import org.testng.annotations.AfterClass;
import org.testng.annotations.Test;

public class TestNGBingfa {  
    WebDriver driver;
    
    @Parameters("browser")
    @BeforeClass
    public void BeforeClass(String Browser){
        //判断Browser等于chrome。equalsIgnoreCase()方法比较两个字符串是否相等(不区分大小写)
        if(Browser.equalsIgnoreCase("chrome")){
            System.setProperty("webdriver.chrome.driver","E:\\chromedriver.exe");
            driver=new ChromeDriver();
        }
        else if(Browser.equalsIgnoreCase("firefox")){
            System.setProperty("webdriver.firefox.bin","D:\\Firefox\\firefox.exe");
            driver=new FirefoxDriver();
        }
        else{
            System.setProperty("webdriver.ie.driver", "E:\\IEDriverServer.exe");
            driver=new InternetExplorerDriver();
        }
    }
    
    @Test
    public void test() throws InterruptedException{
        driver.get("https://www.baidu.com");
        driver.findElement(By.xpath("//*[@id='kw']")).sendKeys("selenium");
        driver.findElement(By.xpath("//*[@id='su']")).click();    
        //获取页面上的资源
        String sourcetext=driver.getPageSource();
        //校验搜索结果是否包含 selenium
        Assert.assertTrue(sourcetext.contains("selenium"));
    }
    
    @AfterClass
    public void Aftercalss(){
        driver.quit();
    }
}
复制代码

 

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="chrome">
    <parameter name="browser" value="chrome"></parameter>
    <classes>
      <class name="com.selenium.TestNGBingfa"/>
    </classes>
  </test>
   <!-- 火狐浏览器 -->
  <test name="firefox">
   <parameter name="browser" value="firefox"></parameter>
   <classes>
     <class name="com.selenium.TestNGBingfa"></class>
   </classes>
  </test>
  <!-- IE浏览器 -->
  <test name="ie">
   <parameter name="browser" value="ie"></parameter>
   <classes>
     <class name="com.selenium.TestNGBingfa"></class>
   </classes>
  </test>
</suite>
复制代码

 

posted @   iTao0128  阅读(28)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示