Selenium grid2+ testng并发式 困惑
来源:互联网 发布:a10攻击机 知乎 编辑:程序博客网 时间:2024/05/18 01:04
1. 启动selenium hub
2. 启动selenium node(假设有2 node)
清单1. testng.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Suite1" parallel="methods" preserve-order="true" >
<test name="SeleGrid2">
<parameter name="seleniumHost" value="192.168.1.112"/>
<parameter name="seleniumPost" value="4444"/>
<parameter name="bs" value="*ie"/>
<classes>
<class name="server.TestDemo" />
<methods>
<include name="test022222" />
-->
</methods>
</classes>
</test> <!-- Test -->
</suite> <!-- Suite -->
清单2: TestDemo.java( Package name: server)
public class TestDemo {
public static WebDriver wd;
private static int sum = 0;
@BeforeClass
public void SetUp(){
long id = Thread.currentThread().getId();
System.out.println("Set Up: "+ Thread.currentThread().getStackTrace()[1].getMethodName()+", Thread# " + id);
}
@AfterClass
public void TearDown(){
long id = Thread.currentThread().getId();
System.out.println("Tear Down: "+ Thread.currentThread().getStackTrace()[1].getMethodName()+", Thread# " + id);
}
@BeforeTest
public void BeforeTest(){
long id = Thread.currentThread().getId();
System.out.println("Test Case: "+ Thread.currentThread().getStackTrace()[1].getMethodName()+", Thread# " + id);
}
@AfterTest
public void AfterTest(){
long id = Thread.currentThread().getId();
System.out.println("Test Case: "+ Thread.currentThread().getStackTrace()[1].getMethodName()+", Thread# " + id);
}
@Test(invocationCount = 15, threadPoolSize = 10)
@Parameters({"seleniumHost", "seleniumPost", "bs"})
public void test022222(String Host, String Port, String browser) throws MalformedURLException, InterruptedException, UnknownHostException{
sum ++;
System.out.println("sum = " + sum);
long id = Thread.currentThread().getId();
System.out.println("Test Case: "+ Thread.currentThread().getStackTrace()[1].getMethodName()+", Thread# " + id);
File file = new File("C:/Program Files (x86)/Internet Explorer/IEDriverServer.exe");
System.setProperty("webdriver.ie.driver", file.getAbsolutePath());
//String hubURL = "http://192.168.1.112:4444/wd/hub";
String hubURL ="http://" +Host + ":" +Port + "/wd/hub" ;
System.out.println( "hubURL = " + hubURL);
DesiredCapabilities aDesiredCap = new DesiredCapabilities();
aDesiredCap.setBrowserName("internet explorer");
aDesiredCap.setVersion("");
aDesiredCap.setPlatform(Platform.WINDOWS);
aDesiredCap.setCapability(InternetExplorerDriver.IGNORE_ZOOM_SETTING, true);
//wd = new InternetExplorerDriver();
wd = new RemoteWebDriver(new URL(hubURL),aDesiredCap);
wd.get("http://www.qq.com");
Thread.sleep(3000);
System.out.println(wd.getCurrentUrl());
wd.quit();
}
}
运行testng.xml
Consle output:
[TestNG] Running:
E:\maven\SeleGrid2\testng_method.xml
Test Case: BeforeTest, Thread# 1
Set Up: SetUp, Thread# 11
sum = 1
Test Case: test022222, Thread# 16
hubURL = http://192.168.1.112:4444/wd/hub
sum = 2
Test Case: test022222, Thread# 15
hubURL = http://192.168.1.112:4444/wd/hub
sum = 3
Test Case: test022222, Thread# 20
hubURL = http://192.168.1.112:4444/wd/hub
sum = 4
Test Case: test022222, Thread# 12
hubURL = http://192.168.1.112:4444/wd/hub
sum = 5
Test Case: test022222, Thread# 13
hubURL = http://192.168.1.112:4444/wd/hub
sum = 6
Test Case: test022222, Thread# 19
hubURL = http://192.168.1.112:4444/wd/hub
sum = 7
Test Case: test022222, Thread# 18
hubURL = http://192.168.1.112:4444/wd/hub
sum = 8
Test Case: test022222, Thread# 14
hubURL = http://192.168.1.112:4444/wd/hub
sum = 9
Test Case: test022222, Thread# 21
hubURL = http://192.168.1.112:4444/wd/hub
sum = 10
Test Case: test022222, Thread# 17
hubURL = http://192.168.1.112:4444/wd/hub
http://www.qq.com/
sum = 11
Test Case: test022222, Thread# 18
hubURL = http://192.168.1.112:4444/wd/hub
http://www.qq.com/
sum = 12
Test Case: test022222, Thread# 14
hubURL = http://192.168.1.112:4444/wd/hub
http://www.qq.com/
sum = 13
Test Case: test022222, Thread# 12
hubURL = http://192.168.1.112:4444/wd/hub
http://www.qq.com/
sum = 14
Test Case: test022222, Thread# 21
hubURL = http://192.168.1.112:4444/wd/hub
http://www.qq.com/
sum = 15
Test Case: test022222, Thread# 20
hubURL = http://192.168.1.112:4444/wd/hub
http://www.qq.com/
http://www.qq.com/
http://www.qq.com/
http://www.qq.com/
http://www.qq.com/
http://www.qq.com/
http://www.qq.com/
http://www.qq.com/
http://www.qq.com/
http://www.qq.com/
Tear Down: TearDown, Thread# 11
Test Case: AfterTest, Thread# 1
===============================================
Suite1
Total tests run: 15, Failures: 1, Skips: 0
===============================================
总结现象: case运行invocationCount 次数,最大并发数threadPoolSize ,
这15次,被随机分配到2 node上面运行,但是存在这样的问题: 其中node运行用例的时间很慢,网页请求响应很慢,几乎等不到相应。卡死状态
假设只有一个node,运行15次,响应正常,执行用例15次,正常结束,可是这不是我们想要的并发场景。
selenium grid2真的适合性能测试吗?我突然有这样的困惑?望有人赐教,谢谢。
- Selenium grid2+ testng并发式 困惑
- Selenium Grid2
- Selenium-Grid2 配置
- selenium grid2 - node说明
- Selenium Grid2做分布式测试
- Selenium TestNG
- selenium TestNG
- 并发式IO的解决方案
- 如何搭建Selenium-Grid2环境(Java)
- Selenium Grid2分布式执行测试脚本
- 如何搭建Selenium-Grid2环境(Java)
- Selenium (2) —— Selenium WebDriver + Grid2(101 Tutorial)
- TestNG-Excute selenium with TestNG.
- Stackless Python并发式编程介绍
- TCP并发式服务器编程实现
- 两种并发式服务器的选择
- windows网络编程之并发式服务器
- 并发式TCP服务器的设计
- 教你如何对待大型电商平台的性能优化?之 一 (方法、指标、工具、定位)
- RunLoop
- 最近的一些设计笔记
- SkipList跳表基本原理
- HDU 1358 Period
- Selenium grid2+ testng并发式 困惑
- Date、String、Calendar类型之间的转化
- 一笔画问题 南阳oj42 【并查集+欧拉通路的判断】
- linux学习笔记----目录处理命令----rmdir
- android优化以及相关知识点
- hdu3699(不等式dfs)
- cart剪枝,罚项系数a讨论
- Floy-Warshall算法例题 HDU_1596题解
- Package * is missing dependencies for the following libraries: libpthread.so.0