【发布时间】:2021-04-13 16:45:29
【问题描述】:
大家好,我有一个 XML 类
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "https://testng.org/testng-1.0.dtd">
<suite name="Suite" parallel="tests" thread-count="2">
<test name="Auto">
<classes>
<class name="Auto.....Name_of_class1......"/>
</classes>
</test>
<test name="Bad">
<classes>
<class name="Bad.....Name_of_class2......"/>
</classes>
</test>
</suit>
当我运行这个 XML 文件时,首先它会打开两个浏览器 (Chrome),然后运行这两个类。但这对我来说是令人困惑的部分
当浏览器打开时,在这两个浏览器中,只有一个浏览器会测试用例。 在我的情况下,我并行运行两个类,每个类有 2-3 个测试用例。 但所有测试用例都将在一个浏览器中运行。第二个浏览器刚刚打开并转到基本 URL
另外,我尝试将平行更改为“class”、“True”,但没有成功。 结果集也很乱,请看截图
两个类都调用:-
public static WebDriver initDriver() {
if (driver == null) {
switch (prop.getProperty("browser")) {
case "chrome":
WebDriverManager.chromedriver().setup();
driver = new ChromeDriver();
driver.manage().deleteAllCookies();
break;
case "firefox":
driver = new FirefoxDriver(fOptions);
break;
default:
System.out.println("Wrong driver was chosen!");
}
action = new Actions(driver);
driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
driver.manage().window().maximize();
}
return driver;
}
【问题讨论】:
-
如何在这个类中声明
driver? -
驱动从TestBase类调用,TestBase类函数initDriver() TestBase扩展为testClasses
-
不!
driver = new ChromeDriver();行,driver是如何/在哪里声明的?是static吗? -
是的,它是静态的。
-
public static WebDriver driver;
标签: java selenium parallel-processing automated-tests testng