有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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) 个答案