Передача двух параметров в testng test @Test

Фрагмент кода:

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

В консоли отображается ошибка: метод submitLogin требует 2 параметра, но 1 был указан в аннотации @Test.


person santosh    schedule 27.05.2014    source источник


Ответы (3)


Вам не кажется, что вы пытаетесь передать один параметр "a,b" вместо двух "a","b"?

person user1058106    schedule 27.05.2014

Попробуйте использовать аннотацию Parameters перед Test one. И каждый параметр должен быть заключен в кавычки.

@Parameters({"a","b"})
@Test
 public void submitLogin(String a , String b){
//Code here
    }
person QArea    schedule 27.05.2014
comment
Нет никакой разницы, в каком порядке устанавливаются аннотации. - person user1058106; 27.05.2014

@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 не должен иметь значения.

person Sundeep Gupta    schedule 28.05.2014