我有2个测试类,一个用于测试网站的注册功能,另一个用于登录。
public class TestResister{
@test
public void testSignup(){
}
}
public class TestLogin{
@test
public void testLoginUser(){
}
}
我想在运行testLoginUser()函数时自动调用testSignup()。
答案 0 :(得分:0)
不确定我的问题是否正确,但您只需要调用该方法即可。
public class TestRegister{
public void testSignup(){
}
}
public class TestLogin{
public void testLoginUser(){
TestRegister.testSignup();
}
}
或者
public class TestLogin{
public void testLoginUser(){
TestRegister tstregister = new TestRegister();
tstregister.testSignup();
}
}
答案 1 :(得分:0)
是的,这是可能的。如下所示:
@Test(priority = 1)
public void testMethod1(){
//some code
}
@Test(priority = 2)
public void testMethod2(){
//some code
}
见this。优先级较低将首先执行。但是,任何条件,***测试依赖*都不是最佳实践。每个测试都应该设计为独立执行。如果优先级为1的测试失败,请考虑优先级为2的测试结果。
答案 2 :(得分:0)
您的问题不是很明确,如果注册已经完成怎么办?它会失败吗?
我认为您正在寻找以下属性。
您可以使用@Test注释中的dependsOnMethods或dependsOnGroups属性。
有两种依赖关系:
以下是硬依赖的示例:
@Test
public void signup() {}
@Test(dependsOnMethods = { "singup" })
public void login() {}
在这种情况下,如果单击失败,登录将不会运行。如果您仍想运行登录,请添加" alwaysRun = true"。然后登录将运行,无论注册成功与否。 有关详情,请查看http://testng.org/doc/documentation-main.html