Запуск нескольких классов с Selenium в Java - PullRequest
0 голосов
/ 26 июня 2018

Итак, я новичок в Selenium и Java и несколько недель работаю с автоматизированным тестированием с Selenium в Java, и я хочу создать класс, который называется Login, который вызывает Chrome, и иметь несколько классов с разные тесты, но не в одном файле. То, что я хочу знать, - возможно ли иметь пакет с, например, 10 файлами классов с одним классом, который вызывает их все как отдельные тесты и не иметь все тесты в одном длинном файле класса. Я уже прочитал некоторые вещи, но я все еще не могу понять, возможно ли это с TestNG. Я создал класс Login, который вызывает другой класс, но я не могу добавить третий, и он также вызывается. Или возможно иметь один класс, который вызывает другой класс, и этот класс вызывает другой и т. Д. Я извиняюсь, если этот вопрос уже задан и ответил, но я лично не смог найти соответствующую информацию о нем. Я могу предоставить код при необходимости.

Так что я думаю, что плохо задал вопрос и постараюсь объяснить немного лучше: https://imgur.com/a/srwDGML Обведенные классы включают в себя - Логин, AppPublisher, SuperadminDelete Я хочу запустить Login и Login, чтобы запустить SuperadminDelete, а затем AppPublisher. Это легко сделать в одном классе с аннотацией @Test, но я хочу, чтобы они были отдельными классами и управлялись одним (назовем это босс или основной класс). Все дело в том, чтобы каждый контрольный пример находился в отдельном файле класса и не делался с аннотацией в одном файле. Я предполагаю, что это делается с помощью ключевого слова "extends", но при попытке запускается только 2, а не все.

1 Ответ

0 голосов
/ 26 июня 2018

Я думаю, что вы имеете в виду, чтобы отделить класс 'test case' от класса 'test', где «контрольный пример» позаботится об обходных предпосылках, таких как конфигурации, логин и т. д.

У меня есть базовый пример в моем проекте github, где я использую TestNG, Selenium и класс тестовых примеров. Может быть, это поможет вам: https://github.com/AutomatedOwl/selenium-java-pom-example

Относительно вашего размещенного кода, пожалуйста, разделите между loginTest и LoginHelper. loginTest - это метод, который позволяет вам протестировать некоторые сценарии входа в систему. LoginHelper должен быть отдельным классом, который вы должны создать, который будет содержать методы входа в систему, которые могли бы использоваться любым из ваших тестов. Что-то вроде:

@Test
void someTest() {

  // Create instance of LoginHelper.
  LoginHelper loginHelper = new LoginHelper(driver);

  // Login to your application.
  loginHelper.loginAsUser();

  // Do the rest of the test here.
}

И таким образом ваш тест входа в систему будет выглядеть так:

@Test
void loginTest() {

  // Create instance of LoginHelper.
  LoginHelper loginHelper = new LoginHelper(driver);

  // Login to your application.
  loginHelper.loginAssertUser();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...