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>

最新文章

  1. [转]AS3 int uint Number
  2. 十五天精通WCF——第八天 对“绑定”的最后一点理解
  3. 【原】安装mongo的php插件
  4. VMware中安装CentOS7网络配置静态IP地址,常用配置和工具安装
  5. RMI、RPC、SOAP通讯技术介绍及比对 - XML/SOAP
  6. eclipse创建maven模块工程
  7. 关于HTTP返回码301、302区别与SEO
  8. 常见的IE6兼容以及css兼容
  9. 根据标点符号分行,StringBuilder的使用;将字符串的每个字符颠倒输出,Reverse的使用
  10. iOS 面试题集合
  11. Hibernate 、多表关联映射 - 一对一关系映射(one- to-one)
  12. ThinkPHP第十二天(Import导入第三方类库方法,独立分组文件夹结构)
  13. MySQL 关于性能的参数配置梳理
  14. VSCode Snippet 小试牛刀
  15. Confluence 6 数据库 JDBC 驱动
  16. Egret 项目文件夹配置和基本容器、动画
  17. php创建桌面快捷方式实现方法
  18. WPF Demo17 数据绑定
  19. postman的巨坑 之 cookie
  20. Java-小技巧-004-jdk时间,jdk8时间,joda,calendar,获取当前时间前一周、前一月、前一年的时间

热门文章

  1. 字符单链表识别数字,字母,其它字符,并分为三个循环链表的算法c++实现
  2. CodeForces 1197 D Yet Another Subarray Problem
  3. 十八、MySQL 数据排名查询某条数据是总数据的第几条
  4. linux内核中的数据结构
  5. TCP滑动窗口Sliding Window
  6. JS基础_使用工厂方法创建对象
  7. python:网络爬虫的学习笔记
  8. 【闭包】JS闭包深入理解
  9. dnSpy PE format ( Portable Executable File Format)
  10. HearthstoneBot