gpt4 book ai didi

java - 如何使用 TestNG 和 DataProvider 顺序执行测试

转载 作者:行者123 更新时间:2023-12-02 02:08:15 42 4
gpt4 key购买 nike

我正在使用 @dataprovider TestNG 注释来传递不同的数据集。我的 TestNG 类包含 @BeforeClass、@DataProvider、三个 @Test 方法(一个使用 dataprovider 的测试)和 @After Class。 Dataprovider包含3组数据(用户名和密码)

我只是想知道如何按以下顺序执行测试

--执行@BeforeClass

-->进入测试并打印来自数据提供者的第一组数据
-->执行第二个测试用例
-->执行第三个测试用例

--进入测试并打印数据提供者的第二组数据
--执行第二个测试用例
--执行第三个测试用例

--进入测试并打印数据提供者的第三组数据
--执行第二个测试用例
--执行第三个测试用例

--执行@AfterClass

<小时/>
public class SequentialExe {

@BeforeClass
public void started(){

System.out.println("Class Started");
}

@DataProvider(name="testdata")
public Object[][] getdata(){

Object ob[]
[]=ExcelUtils.excelread("C:/Users/Desktop/capsule.xlsx", 0);
return ob;
}

@Test(dataProvider="testdata",priority=0)
public void test01(String uname, String paswrd){

System.out.println("Username is"+"--"+uname);
System.out.println("Password is"+"--"+paswrd);

}
@Test(priority=1)
public void test02(){

System.out.println("This is second test case");
}
@Test(priority=2)
public void test03(){

System.out.println("This is third test case");
}

@AfterClass
public void end(){

System.out.println("Class END");
}
}

现在得到的结果如下

<小时/>

开始上课

用户名是--uname01
密码是--pwd01
用户名是--uname02
密码是--pwd02
用户名是--uname03
密码是--pwd03

这是第二个测试用例
这是第三个测试用例
类(class)结束

<小时/>

我正在寻找以下结果

<小时/>

开始上课

用户名是--uname01
密码是--pwd01
这是第二个测试用例
这是第三个测试用例

用户名是--uname02
密码是--pwd02
这是第二个测试用例
这是第三个测试用例

用户名是--uname03
密码是--pwd03
这是第二个测试用例
这是第三个测试用例

类(class)结束

<小时/>

请帮忙解决这个问题。

最佳答案

您可以尝试使用 @Factory 注释参数化您的测试用例。 @DataProvider 在测试方法级别工作,@Factory 在类级别工作。我用@Factory尝试了你的代码,但无法产生你期望的输出。你可以尝试一下。

关于java - 如何使用 TestNG 和 DataProvider 顺序执行测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57345545/

42 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com