Как сохранить значения поставщика данных TestNG в классе POJO - PullRequest
0 голосов
/ 11 мая 2018

У меня есть лист Excel, который имеет две колонки, как показано ниже:

enter image description here

Я использовал @Dataprovider (аннотация TestNG), чтобы прочитать данные из таблицы Excel и передать их методом @Test. И метод испытаний показывает, как показано ниже

@Test(dataProvider = "testautomation")
    public void getData(String userName, String password)throws Exception 
      {
        System.out.println(userName+ "\t ****");
        System.out.println(password);
      }

Работает, как и ожидалось, и получил правильные данные из таблицы Excel. Но есть ли способ сохранить эти два аргумента в классе pojo и передать объект класса в метод @test ?. Кстати, я могу перестать выставлять такие аргументы, как (имя пользователя, пароль в методе @Test).

Может быть, класс pojo выглядит следующим образом:

public class DatObject
 {
    private String userName;
    private String password;

    //and getter setter methods.
 }

И метод испытаний будет таким, как показано ниже:

@Test(dataProvider = "testautomation")
        public void getData(DataObject dataObj)throws Exception 
          {

            System.out.println(dataObj.getUserName()+ "\t ****");
            System.out.println(dataObj.getPasswrod());
          }

Я хочу вызвать этот объект класса pojo в качестве аргумента в методе @test и использовать методы getter и setter в классе pojo, используемые для получения значений вместо передачи имени пользователя и пароля в методе @Test.

Есть ли отведения?

1 Ответ

0 голосов
/ 11 мая 2018

Ваш метод провайдера данных должен вернуть pojos:

@DataProvider(name = "pojoProvider")
public Object[][] createPojoData() {
 return new Object[][] {
   { new DataObject("User1", "****") },
   { new DataObject("User2", "****") },
 };
}

Затем просто укажите это в аннотации теста:

@Test(dataProvider = "pojoProvider")
public void getData(DataObject dataObj)throws Exception 
{
    System.out.println(dataObj.getUserName()+ "\t ****");
    System.out.println(dataObj.getPasswrod());
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...