有没有办法传递动态生成的数据并将它们传递给不同的测试类/套件?
我所拥有的是以下内容: 用户名/密码对由TestUtil.signUpNewAccount()创建;我想将此帐户对象传递给其他测试类,以便他们的测试方法可以使用它。
答案 0 :(得分:0)
我最终使用了TestNG的ITestContext。对于需要共享动态生成数据的测试类,我有一个抽象类,用@BeforeClass初始化所需数据
public abstract class GenericWebTest{
protected UserAccount ua;
@BeforeClass
public void BeforeClass(ITestContext ctx){
if(ctx.getAttribute("username") == null){
UserAccount ua = UserUtil.newSignUp();
ctx.setAttribute("username", ua.getUsername);
ctx.setAttribute("password", ua.getPassword);
}
us = new UserAccount(ctx.getAttribute("username"), ctx.getAttribute("password"));
}
}
public class MemberPageTest extends GenericWebTest {
@Test
public void test1(){
MemberPage mp = new MemberPage();
mp.login(ua); //login using the already created user account
}
}
答案 1 :(得分:0)
我建议使用@Factory
Factory允许您使用不同的参数创建不同的测试实例http://testng.org/doc/documentation-main.html#factories