我对 TestNG 和 Java 编程非常陌生,我对一起使用 @Factory 和 @DataProvider 有疑问。
我想测试多次提交网络表单,每次使用不同的输入数据。
我有以下代码:
public class SolicitudEmpleo extends LaunchBrowser {
private String campoDni;
private String firstName;
private String lastName;
@Factory (dataProvider="dataProviderMethod")
public SolicitudEmpleo(String campoDni, String firstName, String lastName){
this.campoDni=campoDni;
this.firstName = firstName;
this.lastName = lastName;
}
@DataProvider
public static Object[][] dataProviderMethod() {
return new Object[][] { {"000007", "Bill", "Gates"}, {"000008", "Stack", "Overflow"} };
}
Run Code Online (Sandbox Code Playgroud)
当我运行测试用例时,数据提供程序将始终使用数组中包含的最后一个值。例如,如果我现在运行测试,它将在 Web 表单中输入值:“000008”、“Stack”、“Overflow”,并完全忽略“000007”、“Bill”、“Gates”。
谢谢!!
编辑:我打印了函数中的所有三个字符串:
@Factory (dataProvider="dataProviderMethod")
public SolicitudEmpleo(String campoDni, String firstName, String lastName){
this.campoDni=campoDni;
this.firstName = firstName;
this.lastName …Run Code Online (Sandbox Code Playgroud)