从TestNG文件读取参数

时间:2018-07-24 06:21:33

标签: selenium selenium-webdriver testng

我成功地在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本身正在发生的情况。 谢谢您的解释。

1 个答案:

答案 0 :(得分:0)

要摆脱这种情况,请尝试这样的事情

String myPar = context.getCurrentXmlTest().getParameter("country");
    if (myPar == null) {
        myPar = "INDIA";
    }

现在可以使用myPar,这里唯一的事情是,如果您出于调试目的或其他目的运行类,则我们正在使用INDIA。如果我们从testng.xml文件运行,它将从该文件获取值。