您好,我在测试自动化项目中遇到问题。场景是我有两个相互依赖的测试用例,我在套件中运行它们,并通过set和get方法在案例之间传递变量。问题在于我需要在不同的套件中重用这两个不同参数的测试用例,为了实现这一点,我需要在套件级别初始化变量并尝试访问测试脚本。
尝试解释问题所在的示例。
这是第一个TestSuite。 (测试套件的名称xxxDenyOutageRequestAsPA1)
@RunWith(Suite.class)
@SuiteClasses({ CreateOutageRequest.class, DenyOutageRequestatPA1.class})
public class xxxDenyOutageRequestAsPA1 {
public static final String userName = "username";
public static final String Approver = "(PA1)";
}
然后我在这样的测试用例中访问这些变量。(我简化了测试用例,因为如果我复制并粘贴所有测试,它会很长)
测试用例的名称是CreateOutageRequest
@Test
public void testBase() throws Exception {
// Navigate to the page
driver.get(baseUrl);
//String userName = "QAORCreator";
String userName = xxxDenyOutageRequestAsPA1.userName;
String password = "password";
String Approver = xxxDenyOutageRequestAsPA1.Approver;
logIn.loginToOSS(userName, password);
orRoutingPage.routeOutageRequestTo(Approver);
}...
现在这是我的第二个套件(请注意使用相同的测试用例CreateOutageRequest) 测试套件的名称是xxxDenyOutageRequestAsEG
@RunWith(Suite.class)
@SuiteClasses({ CreateOutageRequest.class, DenyOutageRequestAsRegionalEngineering.class })
public class AllTests {
public static final String userName = "Engeneering";
public static final String Approver = "PA2";
}
现在问题来自于访问不同套件中的变量。即使它们是相同的名称,我需要指定套件名称以获取可变数据。任何人都可以想到如何访问套件上定义的变量而不在测试用例中指定套件名称,这样我就可以在不同的套件中重用测试用例?或者我可能做错了,并且有一种不同的方法来完成这项任务
谢谢大家的帮助