将两个参数传递给testng测试@Test

时间:2014-05-27 14:02:38

标签: selenium-webdriver testng pageobjects

代码段:

@Test
 @Parameters({"a,b"})
 public void submitLogin(String a , String b){
//Code here
    }

控制台中显示错误: 方法submitLogin需要2个参数,但@Test注释中提供了1个参数。

3 个答案:

答案 0 :(得分:1)

你不认为你试图传递一个参数“a,b”而不是两个“a”,“b”吗?

答案 1 :(得分:0)

尝试在测试之前使用参数注释。每个参数都应该是引号。

@Parameters({"a","b"})
@Test
 public void submitLogin(String a , String b){
//Code here
    }

答案 2 :(得分:0)

@Parameters允许您指定参数名称,其值放在testng.xml文件中;每个参数名称必须是一个字符串。在您的情况下,您将参数名称[a,b]分成一个单独的字符串。解决方案是:

@Test
@Parameters({"a", "b"})
public void submitLogin(String a , String b){
    //Code here
}

在你的testng.xml中,将这些变量的值定义为:

<parameter name="a" value="foo"/>
<parameter name="b" value="bar"/>

是的,注释,@Parameters和@Test的顺序无关紧要。