我目前正在用TestNG编写测试。目前,我有以下方法:
@Parameters({"clickRememberMe"})
@Test
public void runTest(String clickRememberMe) {
}
现在,我发现可以使用一个名为
org.testng.ITestContext
的TestNG类在测试之间共享数据。显示它的教程告诉我这样做:@Test
public void runTest(ITestContext itc){
}
这也有效。但是,现在我想将参数与
ITestContext
一起使用,如下所示:@Parameters({"clickRememberMe"})
@Test
public void runTest(ITestContext itc, String clickRememberMe) {
}
可悲的是,这引发了以下异常:
java.lang.IllegalArgumentException: argument type mismatch
有什么方法可以在TestNG中将@Parameters与ITestContext一起使用?
最佳答案
我已经找到了解决方案。代替:
@Parameters({"clickRememberMe"})
@Test
public void runTest(ITestContext itc, String clickRememberMe) {
}
我必须将ITestContext放在参数之后,如下所示:
@Parameters({"clickRememberMe"})
@Test
public void runTest(String clickRememberMe, ITestContext itc) {
}