使用TestNG对IE /Chrome/firefox 进行兼容性并发测试 ;

 package testNGTest;

 import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.ie.InternetExplorerDriver;
import org.testng.Assert;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Parameters;
import org.testng.annotations.Test; public class MultipleBrowserSearchTest {
public WebDriver driver;
String baseUrl = "http://www.sogou.com/"; @Parameters("browser")
@BeforeClass
public void beforeTest(String Browser) {
if (Browser.equals("firefox")) {
System.setProperty("webdriver.firefox.bin", "D:\\softerWare\\firefox\\firefox\\firefox.exe");
driver = new FirefoxDriver(); } else if (Browser.equals("ie")) {
System.setProperty("webdriver.ie.driver", "D:\\softerWare\\selenium\\IE\\IE_Driver\\IEDriverServer.exe");
driver = new InternetExplorerDriver(); } else if (Browser.equals("chrome")) { System.setProperty("webdriver.chrome.driver", "D:\\softerWare\\selenium\\chromeDriver\\chromedriver.exe");
driver = new ChromeDriver();
}
}
@Test
public void testSogouSearch() {
driver.get(baseUrl);
WebElement inputBox = driver.findElement(By.id("query"));
Assert.assertTrue(inputBox.isDisplayed());
inputBox.sendKeys("关荣的自动化测试 !");
driver.findElement(By.id("stb")).click(); Assert.assertTrue(driver.getPageSource().contains("关荣的自动化测试"));
} @AfterClass
public void afterTest() {
driver.close(); } }

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"></parameter>
<classes>
<class name="testNGTest.MultipleBrowserSearchTest"/>
</classes>
</test>
<test name="IEText" >
<parameter name="browser" value="ie"/>
<classes>
<class name="testNGTest.MultipleBrowserSearchTest"/>
</classes>
</test>
<test name="ChromeTest">
<parameter name="browser" value="chrome"/>
<classes>
<class name="testNGTest.MultipleBrowserSearchTest"/>
</classes>
</test>
</suite>

说明:直接执行xml中的测试代码;
转自:http://blog.csdn.net/u011138533/article/details/52174446

thread-count

  与parallel配套使用,线程池的大小,决定并行线程数量
parallel
该参数的值false,methods,tests,classes,instances。默认false
parallel必须和thread-count配套使用,否则相当于无效参数,thread-count决定了并行测试时开启的线程数量
parallel="mehods"  TestNG将并行执行所有的测试方法在不同的线程里
parallel="tests"  TestNG将并行执行在同一个<test>下的所有方法在不同线程里
parallel="classes"  TestNG将并行执行在相同<class>下的方法在不同线程里
parallel="instances"  TestNG将并行执行相同实例下的所有方法在不同的线程里

使用 TestNG 并发测试 ;的更多相关文章

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

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

  2. TestNG并发测试包

    https://www.yiibai.com/testng/basic-annotations.html

  3. testNG 并发测试

     invocationCount是并发数,threadPoolSize是线程数,当线程是1的时候就是依次执行n次,当线程是并发次数时,就是同时执行n次    @Test public void abc ...

  4. selenium从入门到应用 - 8,selenium+testNG实现多线程的并发测试

    本系列所有代码 https://github.com/zhangting85/simpleWebtest本文将介绍一个Java+TestNG+Maven+Selenium的web自动化测试脚本环境下s ...

  5. 用代码触发testng实现并发测试

    有时候希望测试用例能用代码触发,发现testng支持这种操作,于是记录一下: 首先添加testng依赖: <dependency> <groupId>org.testng< ...

  6. Java自动化测试框架-11 - TestNG之annotation与并发测试篇 (详细教程)

    1.简介 TestNG中用到的annotation的快速预览及其属性. 2.TestNG基本注解(注释) 注解 描述 @BeforeSuite 注解的方法只运行一次,在当前suite所有测试执行之前执 ...

  7. Maven捆绑TestNG实现测试自动化执行、部署和调度

    一. 需求介绍 自动化测试,尤其是接口测试时,要写大量的测试用例,这些测试用例我们当然首选使用TesteNG编写,用例数量大,还涉及各种依赖包之类的问题,因此用Maven管理也是最方便最易实现的. 面 ...

  8. Selenium & Webdriver 远程测试和多线程并发测试

    Selenium & Webdriver 远程测试和多线程并发测试 Selenium Webdriver自动化测试,初学者可以使用selenium ide录制脚本,然后生成java程序导入ec ...

  9. Atitit.并发测试解决方案(2) -----获取随机数据库记录 随机抽取数据 随机排序 原理and实现

    Atitit.并发测试解决方案(2) -----获取随机数据库记录 随机抽取数据 随机排序 1. 应用场景 1 2. 随机抽取数据原理 1 3. 常用的实现方法:::数据库随机函数 1 4. Mssq ...

随机推荐

  1. 旁听<基因编辑与精准医疗>(北京大学)

    昨天去北大生命科学院听了一场魏文胜教授关于基因方面的讲座.会场人不算太多,比起上次听城市规划,场面略显冷清.也能从一个侧面反映,关注基础科学领域的人虽然有,但是不是很多. 开场魏教授用了宣传海报作为导 ...

  2. 20155313 2016-2017-2 《Java程序设计》第一周学习总结

    20155313 2016-2017-2 <Java程序设计>第一周学习总结 教材学习内容总结 本周的Java学习进入了一个全新的阶段,对于我这样的并没有每天花费时间钻研的同学来说,最后几 ...

  3. install netcdf

    https://gist.github.com/perrette/cd815d03830b53e24c82

  4. Ubuntu配置android环境

    jdk:http://www.oracle.com/technetwork/cn/java/javase/downloads/index.html 安装JDK的步骤:http://jingyan.ba ...

  5. C#基础之继承

    继承是在类之间建立一种相交的关系,使得新定义的派生类的实例可以继承已有的基类的特征并且还可以添加新的功能.以前对继承的理解仅仅限于定义,下面是我查了些资料.写了点代码的总结. 1.C#继承的特点 (1 ...

  6. day 11 名片管理系统

    1 思路 #名片1 名片2 {"name":"alex","age":18,"QQ":12123} {"nam ...

  7. 收集的PHP工具及类库

    composer     PHP的依赖管理工具 phpmig        PHP的数据库迁移工具,依赖于composer Requests for PHP    HTTP请求库,采集页面可以用到的 ...

  8. Django模型层:多表查询

    一 创建模型 实例:我们来假定下面这些概念,字段和关系 作者模型:一个作者有姓名和年龄. 作者详细模型:把作者的详情放到详情表,包含生日,手机号,家庭住址等信息.作者详情模型和作者模型之间是一对一的关 ...

  9. springAOP之代理模式

    springAOP指的是在spring中的AOP,什么是AOP,相对于java中的面向对象(oop),在面向对象中一些公共的行为,像日志记录,权限验证等如果都使用面向对象来做,会在每个业务方法中都写上 ...

  10. javaweb(三十三)——使用JDBC对数据库进行CRUD

    一.statement对象介绍 Jdbc中的statement对象用于向数据库发送SQL语句,想完成对数据库的增删改查,只需要通过这个对象向数据库发送增删改查语句即可. Statement对象的exe ...