Тесты на селен не проходят в нужном порядке - PullRequest
0 голосов
/ 20 января 2019

Хотя я использую @FixMethodOrder(MethodSorters.NAME_ASCENDING)
Мои тесты не выполняются в нужном порядке

У меня 2 теста,
Первое имя тета: aTest_Login ()
Имя второго теста: bTest_CreateContact ()

Иногда второй тест выполняется перед первым тестом.

1 Ответ

0 голосов
/ 21 января 2019

Не зная подробностей о @FixMethodOrder, это похоже на JUnit. JUnit, как следует из названия, является структурой для выполнения модульных тестов. Модульные тесты не должны иметь каких-либо зависимостей или связей между ними (такова идея модульных тестов), поэтому порядок их выполнения не должен влиять на результат, они являются коммутативными. Если вы хотите выполнять тесты в определенном порядке для интеграционных и графических тестов, я настоятельно рекомендую использовать что-то, поддерживающее тестовые зависимости, такие как Test NG

В TestNG вы можете определить группы тестов и указать тестовые зависимости. Если вы хотите запускать тесты графического интерфейса пользователя, первым «корневым» тестом может быть проверка того, подключена ли ваша тестовая система к сети (поскольку все тесты графического интерфейса пользователя не пройдут, если система находится в автономном режиме, имеет смысл иметь только один неудачный тест, говоря, что система была отсутствует).

@Test(groups = "login") 
public void aTest_Login() {
   ...
}

@Test(groups = {"contacts", "creation"}, dependsOnGroups = "login") 
public void bTest_CreateContact(){
  // this test will only be executed if all tests of the group "login" passed
}

TestNG имеет руководство по миграции от JUnit и предлагает другие материалы, касающиеся интеграции и тестирования графического интерфейса. Вы должны проверить это

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...