java TestNG“dependsOnMethods”停止“threadcount”工作?
TestNG“dependsOnMethods”停止“线程计数”工作
我有x3 TestNG类,它们使用的依赖方法如下所示:
头等舱:
public class AddABookingTest extends BrowserFactory {
@Test(priority = 1)
public void load_BookingSystemHomepage() throws Exception {
supplierHome_BookingSystem_Page.loadBookingSystemHomePage();
}
@Test(priority = 2, dependsOnMethods={"load_BookingSystemHomepage"})
public void enter_UserLoginDetails_Login_Page() throws Exception {
basePage.sendKeysToWebElement(login_BookingSystem_Page.textField_UserName, "x");
basePage.sendKeysToWebElement(login_BookingSystem_Page.textField_Password, "xx");
}
@Test(priority = 3, dependsOnMethods={"load_BookingSystemHomepage", "enter_UserLoginDetails_Login_Page"})
public void clickOn_Login_Button() throws Exception {
basePage.waitAndClickElement(login_BookingSystem_Page.button_Login);
}
二等舱:
public class AddABookingTest2 extends BrowserFactory {
@Test(priority = 1)
public void load_BookingSystemHomepage() throws Exception {
supplierHome_BookingSystem_Page.loadBookingSystemHomePage();
}
@Test(priority = 2, dependsOnMethods={"load_BookingSystemHomepage"})
public void enter_UserLoginDetails_Login_Page() throws Exception {
basePage.sendKeysToWebElement(login_BookingSystem_Page.textField_UserName, "x");
basePage.sendKeysToWebElement(login_BookingSystem_Page.textField_Password, "xx");
}
@Test(priority = 3, dependsOnMethods={"load_BookingSystemHomepage", "enter_UserLoginDetails_Login_Page"})
public void clickOn_Login_Button() throws Exception {
basePage.waitAndClickElement(login_BookingSystem_Page.button_Login);
}
三等舱:
public class AddABookingTest3 extends BrowserFactory {
@Test(priority = 1)
public void load_BookingSystemHomepage() throws Exception {
supplierHome_BookingSystem_Page.loadBookingSystemHomePage();
}
@Test(priority = 2, dependsOnMethods={"load_BookingSystemHomepage"})
public void enter_UserLoginDetails_Login_Page() throws Exception {
basePage.sendKeysToWebElement(login_BookingSystem_Page.textField_UserName, "x");
basePage.sendKeysToWebElement(login_BookingSystem_Page.textField_Password, "xx");
}
@Test(priority = 3, dependsOnMethods={"load_BookingSystemHomepage", "enter_UserLoginDetails_Login_Page"})
public void clickOn_Login_Button() throws Exception {
basePage.waitAndClickElement(login_BookingSystem_Page.button_Login);
}
在执行我的TestNG XML文件时,所有x3类似乎都同时打开,即使我已将线程数设置为2,如果我删除所有依赖项,一切正常吗
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="Automation_Scripts_by_GBruno" verbose="2" parallel="classes" thread-count="2">
<test name="Automation Tests">
<packages>
<package name="Framework.complete.*"></package>
</packages>
</test>
</suite>
新代码:
XML文件:
<?xml version="1.0" encoding="UTF-8"?>
<test name="Framework Automation Tests">
<packages>
<package name="Framework.url2.*"></package>
</packages>
</test>
测试等级1:
import org.testng.annotations.Test;
import Framework.utilities.BrowserFactory;
public class UrlCheckerTest extends BrowserFactory {
@Test(priority=1)
public void checkURL_Test1() throws Exception {
getDriver().get("https://www.google.com");
Thread.sleep(5000);
}
@Test(priority=2)
public void checkURL_Test2() throws Exception {
getDriver().get("https://www.amazon.com");
}
}
测试类别2:
import org.testng.annotations.Test;
import Framework.utilities.BrowserFactory;
public class UrlCheckerTest2 extends BrowserFactory {
@Test(priority=1)
public void checkURL_Test1() throws Exception {
getDriver().get("https://www.google.com");
Thread.sleep(5000);
}
@Test(priority=2)
public void checkURL_Test2() throws Exception {
getDriver().get("https://www.amazon.com");
}
}
测试3:
import org.testng.annotations.Test;
import Framework.utilities.BrowserFactory;
public class UrlCheckerTest extends BrowserFactory {
@Test(priority=1)
public void checkURL_Test1() throws Exception {
getDriver().get("https://www.google.com");
Thread.sleep(5000);
}
@Test(priority=2)
public void checkURL_Test2() throws Exception {
getDriver().get("https://www.amazon.com");
}
}
测试4:
import org.testng.annotations.Test;
import Framework.utilities.BrowserFactory;
public class UrlCheckerTest extends BrowserFactory {
@Test(priority=1)
public void checkURL_Test1() throws Exception {
getDriver().get("https://www.google.com");
Thread.sleep(5000);
}
@Test(priority=2)
public void checkURL_Test2() throws Exception {
getDriver().get("https://www.amazon.com");
}
}
浏览器工厂: 受保护的网络驱动程序
public WebDriver getDriver() throws Exception {
try {
Properties p = new Properties();
FileInputStream fi = new FileInputStream(Base_Page.getConstant(Constant.CONFIG_PROPERTIES_DIRECTORY));
p.load(fi);
String browserName = p.getProperty("browser");
switch (browserName) {
//firefox setup
case "firefox":
if (null == webdriver) {
System.setProperty("webdriver.gecko.driver", Base_Page.getConstant(Constant.GECKO_DRIVER_DIRECTORY));
webdriver = new FirefoxDriver();
}
break;
//chrome setup
case "chrome":
if (null == webdriver) {
System.setProperty("webdriver.chrome.driver", Base_Page.getConstant(Constant.CHROME_DRIVER_DIRECTORY));
webdriver = new ChromeDriver();
}
break;
//IE setup
case "ie":
if (null == webdriver) {
System.setProperty("webdriver.ie.driver", Base_Page.getConstant(Constant.IE_DRIVER_DIRECTORY));
webdriver = new InternetExplorerDriver();
}
break;
}
} catch (Exception e) {
System.out.println("Unable to load browser! - Exception: " + e.getMessage());
}
return webdriver;
}
@AfterClass(alwaysRun = true)
public void quitDriver() throws Exception {
if (null != webdriver) {
getDriver().manage().deleteAllCookies();
webdriver.close();
webdriver.quit();
webdriver = null;
}
}
共 (0) 个答案