我成功地在TestNG框架中实现了一些测试,这些测试是从xml文件读取参数的。 这是首先执行的示例块:
@Parameters({ "country" })
@BeforeSuite(alwaysRun = true)
public void prepareRequest(String country, ITestContext cnt) {
LoginInfoRequestParm loginParms = new LoginInfoRequestParm(country);
Headers reqHeaders = new Headers();
reqHeaders.setHeaders(loginParms);
}
问题/疑问是,为什么仅在指定ITestContext的情况下才起作用?一旦将其删除,整个套件将被破坏,并且它将永远不会出现在指定的方法prepareRequest()上。我无法对其进行调试,因为我无法在方法之前设置断点,以便能够查看TestNG本身正在发生的情况。 谢谢您的解释。
答案 0 :(得分:0)
要摆脱这种情况,请尝试这样的事情
String myPar = context.getCurrentXmlTest().getParameter("country");
if (myPar == null) {
myPar = "INDIA";
}
现在可以使用myPar,这里唯一的事情是,如果您出于调试目的或其他目的运行类,则我们正在使用INDIA。如果我们从testng.xml文件运行,它将从该文件获取值。