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>

TestNG并发兼容性测试的更多相关文章

  1. testng并发测试与测试并发

    一.testng并发测试 通过xml文件中suit结点的parallel属性指定,如 <suite name="bundle-module-testabc" parallel ...

  2. H5测试点总结-UI测试、功能测试、兼容性测试、体验相关(弱网、资源、手机操作等)、安全性测试、性能测试

    一.概述 1.1 什么是H5 H5 即 HTML5,是最新的 Web 端开发语言版本,现如今,大多数手机 APP 页面会用 H5 实现,包括 PC Web 站点也会用它开发实现.所以 Web 的通用测 ...

  3. testng多线程并行执行测试

    testng多线程并行执行测试 testng多线程并行执行测试 并行(多线程)技术在软件术语里被定义为软件.操作系统或者程序可以并行地执行另外一段程序中多个部分或者子组件的能力.TestNG允许我们以 ...

  4. 关于网页pc端以及移动端的兼容性——测试

    对于经常做网页设计的人员来说,网页的兼容性测试是不可缺少的,记得刚来单位的新手,都是要安装一款浏览器测试软件的,看自己制作的网页是否在各大浏览器中正常显示,有没有变形,或者网页效果不兼容等. 不仅仅是 ...

  5. android 兼容性测试 CTS 测试过程(实践测试验证通过)

    source: http://blog.csdn.net/jianguo_liao19840726/article/details/7222814 写这个博客的时候是为了记忆,建议大家还是看官方的说明 ...

  6. 利用selenium Server实现IE firefox 和 chrome兼容性测试

    本文的主题是基于Selenium Server,使用 Java 语言编写网页交互流程, 实现多浏览器(IE Firefox Chrome)兼容性测试,为使用纪要. Selenium Selenium是 ...

  7. .net HttpClient类(System.Net.Http) c#并发使用测试、压测

    .net HttpClient类(System.Net.Http) c#并发使用测试.压测

  8. selenium如何做兼容性测试呢

    selenium如何做兼容性测试呢. 现在selenium做自动化测试基本是web driver操作浏览器做操作,code中assert关键值,做判断. 具体执行2种 1.使用htmluint 来执行 ...

  9. 【转】android 兼容性测试 CTS 测试过程(实践测试验证通过)

    原文网址:http://blog.csdn.net/jianguo_liao19840726/article/details/7222814 写这个博客的时候是为了记忆,建议大家还是看官方的说明,官方 ...

随机推荐

  1. 【译】XMLHttpRequest和Fetch, 谁最适合AJAX?

    原文地址:https://www.sitepoint.com/xmlhttprequest-vs-the-fetch-api-whats-best-for-ajax-in-2019/ 目录 从AJAX ...

  2. 关于java中对list集合中的数据按照某一个属性进行分组

    有的时候,我们需要在java中对集合中的数据进行分组运算. 例如:Bill对象有money(float)和type(String)属性,现有个集合List<Bill>,需要按照Bill的t ...

  3. 有趣但是没有用的linux命令

    1,小火车 #yum install sl 2,黑客帝国,代码雨 # wget https://jaist.dl.sourceforge.net/project/cmatrix/cmatrix/1.2 ...

  4. OkHttp3 拦截器源码分析

    OkHttp 拦截器流程源码分析 在这篇博客 OkHttp3 拦截器(Interceptor) ,我们已经介绍了拦截器的作用,拦截器是 OkHttp 提供的对 Http 请求和响应进行统一处理的强大机 ...

  5. vscode如何使用命令面板

    vscode如何使用命令面板 方法/步骤     首先找到vscode.   进入,打开页面.   找到查看.   打开找到命令面板.   选择打开,可以看到命令.   下拉还有多个,以及快捷键.   ...

  6. What happens in an async method

    https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/async/task-asynchronous-pr ...

  7. [SQL Server 视图的创建- (create view必须是批处理中仅有的语句问题)]

    当我们SQL Server在创建视图时 ,会出现"create view 必须是批处理中仅有的语句"这个语法错误提示 ,实际上这本身没什么错! 因为create view 必须是批 ...

  8. 给JAVA的eclipse IDE 在线安装 SVN插件 / 给 eclipse 添加打开所在的文件夹功能

    http://subclipse.tigris.org/servlets/ProjectProcess?pageID=p4wYuA 首先,在这个网址找着最新在线安装链接 就是那个 Links for ...

  9. kernel hacking的一些网站

    很全面的网站,下面的网站基本都可以从该地址找到. 新手必备 subscrible/unsubscrible mail list mail list archive kernel git mainlin ...

  10. Struts数据回显和模型驱动

    prams拦截器,可以把请求数据自动填充的action的属性中 举例1: JSP <input type=text name=userName /> <input type=text ...