Перейти к содержимому

Dmitry2017

Регистрация: 20 ноя 2017
Offline Активность: 26 окт 2020 11:29
-----

Мои сообщения

В теме: Не работает группировка тестов в Java+TestNG

30 октября 2019 - 17:51

При запуске из консоли или в DEBUG всё работает! Потаенный баг IDEA видимо.


В теме: Не работает группировка тестов в Java+TestNG

30 октября 2019 - 10:17

Сразу добавлю, что попытки добавить в фикстуру  alwaysRun = true не помогают, а приводят к падению на уровне фикстуры.

  @BeforeTest(alwaysRun = true)
  public void setUp(ITestContext context) throws Exception {
    app.init();
    context.setAttribute("app", app);
  }

  @BeforeClass(alwaysRun = true)
  public void setClass() {
    app.refreshPageObjects();
  }

В консоль при этом выдается  Process finished with exit code -1073741819 (0xC0000005)


В теме: Интеграция Test Rail с TestNG-тестами

24 октября 2019 - 17:49

И что там непонятного ?

 

//указываем урл, логин/пароль и имя Проекта

TestRail testRail = TestRail.builder("урл", "login", "password")
.applicationName("Имя проекта").build();

 

Потом создаешь тест-ран:

Run run = testRail.runs().add(X, new Run().setSuiteId(Y).setName("Test Runs")).execute();

X - это id проекта

Y - это group_id сьюта

Test Runs - это имя сьюта

Потом :

// собираешь результирующие пля
List<ResultField> customResultFields = testRail.resultFields().list().execute();

testRail.results().addForCase(run.getId(), 72555, new Result().setStatusId(1), customResultFields).execute();

//ни и проставить статусы:

testRail.results().addForCase(run.getId(), Z, new Result().setStatusId(1), customResultFields).execute();

Z - id тесткейса

1 - это статус Пассед, 2 - блокет и т.п

 

Вот я и не понимаю, откуда моя джоба, запущенная в Дженкенсе, узнает значения этих X, Y, Z, Test Runs и т.д.?


В теме: Конвертация JSON в HashMap (язык Java)

19 октября 2019 - 10:54

Все так, только убери final - это не надо и добавь пустой конструктор 

public User() {

}

Ну и для красивого вывода toString переопредели

Проверил у себя - работает

[User{name='AU', login='Anisimov', password='ZTd9Pn'}, User{name='OTUR', login='interfax_ot_ur', password='123456'}]

 

Огромное спасибо за советы! Все заработало! И даже с более сложным JSON с двухуровневой структурой.


В теме: Конвертация JSON в HashMap (язык Java)

16 октября 2019 - 10:26

 

Зачем тебе вообще HashMap ? 

 

Идея с HashMap заключается в работе с двухуровневой структурой в JSON. Типа "ключ - значение".

Из командной строки запуска теста хочу передавать тип User'a (например, "AU"). Далее по ключу "AU" получать его логин и пароль.

Насколько я понимаю List<Userбудет работать с одноуровневой структурой.

Но я попытался преобразовать JSON в одноуровневую:

[
  {
    "name": "AU",
    "login": "Anisimov",
    "password": "ZTd9Pn"
  },
  {
  "name": "OTUR",
  "login": "interfax_ot_ur",
  "password": "123456"
  }
]

При этом да - сделал класс User:

public class User {
  private final String name;
  private final String login;
  private final String password;

  public User(String name,String login, String password) {
    this.name = name;
    this.login = login;
    this.password = password;
  }

  public String getName() {
    return name;
  }

  public String getLogin() {
    return login;
  }

  public String getPassword() {
    return password;
  }
}

и вставил предлагаемый тобой код:

ObjectMapper objectMapper = new ObjectMapper();
List<User> users = objectMapper.readValue(new File("config3.json"), new TypeReference<List<User>>(){});

Теперь при запуске получаю исключение: Exception in thread "main" com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Cannot construct instance of `ru.qa.test.bankrot.model.User` (no Creators, like default construct, exist): cannot deserialize from Object value (no delegate- or property-based Creator)

Опять чего то не так :(