【发布时间】:2023-03-14 20:00:01
【问题描述】:
我正在与 SauceLab 和 Jenkins 一起使用一个 TestNG 脚本。我遇到了一个问题。当我从 Jenkins 运行我的项目时,我将从那里选择浏览器,因此我可以将它与“dataProvider”一起使用,但 dataProvider 仅适用于 @Test 注释,我想将 dataProvider 与 @before 一起使用。
步骤:
- @Before 将初始化驱动程序(Webdriver)对象。
- @Test 使用驱动程序对象执行第一个测试用例。
- @Test (2nd) 使用相同的驱动程序对象执行第二个测试用例。
public class test
{
Webdriver driver;
// Over here I want to use @Before
@Test(dataProvider = "dynamicParameters", priority = 0, alwaysRun = true)
public void init(String browser, String version, String os, Method method) throws Exception
{
System.out.println("Init Method");
String BASE_URL = System.getProperty("baseUrl");
PCRUtils pcrUtils = new PCRUtils();
driver = pcrUtils.createDriver(browser, version, os, method.getName());
driver.get(BASE_URL);
driver.manage().window().maximize();
Thread.sleep(50000);
}
@Test(priority = 1)
public void verifyTitle() throws InterruptedException
{
AccountPage accountPage = new AccountPage();
accountPage.verifyTitle(driver);
}
}
【问题讨论】:
标签: selenium testing jenkins testng