Огурец можно использовать для тестирования практически любой компьютерной системы. До сих пор мы видели, как запустить тест с использованием Eclipse IDE. Есть еще один способ, с помощью которого мы можем запустить тест Cucumber через интерфейс командной строки. Так в чем преимущество этого?
Запуск любой среды тестирования из Терминала имеет свои преимущества, такие как переопределение конфигураций запуска, упомянутых в коде.
Чтобы выполнить тест Cucumber с помощью командной строки, выполните следующие шаги после настройки системы.
Шаг 1 — Создайте тестовый проект Maven с именем commandLine .
-
Перейдите в Файл → Создать → Другие → Maven → Проект Maven → Далее.
-
Укажите идентификатор группы (идентификатор группы будет идентифицировать ваш проект однозначно во всех проектах).
-
Укажите идентификатор артефакта (идентификатор артефакта — это имя банки без версии. Вы можете выбрать любое имя в нижнем регистре).
-
Нажмите на Готово.
-
Откройте pom.xml —
-
Перейдите к исследователю пакетов в левой части Eclipse.
-
Разверните проект CucumberTest.
-
Найдите файл pom.xml .
-
Щелкните правой кнопкой мыши и выберите опцию Открыть с помощью «Текстового редактора».
-
-
Добавить зависимость для Selenium — это будет указывать Maven, какие файлы jar Selenium следует загружать из центрального хранилища в локальное хранилище.
-
Откройте файл pom.xml в режиме редактирования, создайте тег зависимостей (<dependencies> </ dependencies>) внутри тега проекта.
-
Внутри тега зависимости создайте тег зависимости. (<Зависимость> </ зависимость>).
-
Укажите следующую информацию в теге зависимости.
-
Перейдите в Файл → Создать → Другие → Maven → Проект Maven → Далее.
Укажите идентификатор группы (идентификатор группы будет идентифицировать ваш проект однозначно во всех проектах).
Укажите идентификатор артефакта (идентификатор артефакта — это имя банки без версии. Вы можете выбрать любое имя в нижнем регистре).
Нажмите на Готово.
Откройте pom.xml —
Перейдите к исследователю пакетов в левой части Eclipse.
Разверните проект CucumberTest.
Найдите файл pom.xml .
Щелкните правой кнопкой мыши и выберите опцию Открыть с помощью «Текстового редактора».
Добавить зависимость для Selenium — это будет указывать Maven, какие файлы jar Selenium следует загружать из центрального хранилища в локальное хранилище.
Откройте файл pom.xml в режиме редактирования, создайте тег зависимостей (<dependencies> </ dependencies>) внутри тега проекта.
Внутри тега зависимости создайте тег зависимости. (<Зависимость> </ зависимость>).
Укажите следующую информацию в теге зависимости.
<dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-java</artifactId> <version>2.47.1</version> </dependency>
-
Добавить зависимость для Cucumber-Java — это будет указывать Maven, какие файлы Cucumber должны быть загружены из центрального репозитория в локальный репозиторий.
-
Создайте еще один тег зависимости.
-
Укажите следующую информацию в теге зависимости.
-
Добавить зависимость для Cucumber-Java — это будет указывать Maven, какие файлы Cucumber должны быть загружены из центрального репозитория в локальный репозиторий.
Создайте еще один тег зависимости.
Укажите следующую информацию в теге зависимости.
<dependency> <groupId>info.cukes</groupId> <artifactId>cucumber-java</artifactId> <version>1.0.2</version> <scope>test</scope> </dependency>
-
Добавить зависимость для Cucumber-JUnit — это будет указывать Maven, какие файлы Cucumber JUnit должны быть загружены из центрального репозитория в локальный репозиторий.
-
Создайте еще один тег зависимости.
-
Укажите следующую информацию в теге зависимости.
-
Добавить зависимость для Cucumber-JUnit — это будет указывать Maven, какие файлы Cucumber JUnit должны быть загружены из центрального репозитория в локальный репозиторий.
Создайте еще один тег зависимости.
Укажите следующую информацию в теге зависимости.
<dependency> <groupId>info.cukes</groupId> <artifactId>cucumber-junit</artifactId> <version>1.0.2</version> <scope>test</scope> </dependency>
-
Добавить зависимость для JUnit — это будет указывать Maven, какие файлы JUnit должны быть загружены из центрального репозитория в локальный репозиторий.
-
Создайте еще один тег зависимости.
-
Предоставьте следующую информацию в теге зависимостей.
-
Добавить зависимость для JUnit — это будет указывать Maven, какие файлы JUnit должны быть загружены из центрального репозитория в локальный репозиторий.
Создайте еще один тег зависимости.
Предоставьте следующую информацию в теге зависимостей.
<dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.10</version> <scope>test</scope> </dependency>
-
Проверьте двоичные файлы.
-
После успешного редактирования pom.xml сохраните его.
-
Перейдите в Проект → Очистить — это займет несколько минут.
-
Проверьте двоичные файлы.
После успешного редактирования pom.xml сохраните его.
Перейдите в Проект → Очистить — это займет несколько минут.
Шаг 2 — Создайте пакет с именем «outline» в src / test / java
Шаг 3 — Создайте файл объектов с именем «commandLine.feature».
-
Выберите и щелкните правой кнопкой мыши на схеме пакета.
-
Нажмите на «Новый» файл.
-
Дайте файлу имя, такое как «commandLine.feature»
-
Напишите ниже текст в файле и сохраните его.
Особенность — Схема Сценария
Схема сценария — Функциональность входа для сайта социальной сети.
Учитывая, что пользователь переходит на Facebook
Когда я ввожу имя пользователя как «<имя пользователя>» и пароль как «<пароль>»
Тогда логин должен быть неудачным
Выберите и щелкните правой кнопкой мыши на схеме пакета.
Нажмите на «Новый» файл.
Дайте файлу имя, такое как «commandLine.feature»
Напишите ниже текст в файле и сохраните его.
Особенность — Схема Сценария
Схема сценария — Функциональность входа для сайта социальной сети.
Учитывая, что пользователь переходит на Facebook
Когда я ввожу имя пользователя как «<имя пользователя>» и пароль как «<пароль>»
Тогда логин должен быть неудачным
Примеры
| username | password | | username1 | password1 | | username2 | password2 |
Примечание. Здесь примерная аннотация описывает диапазон входных данных, предоставляемых при выполнении сценария. Тестовый сценарий будет выполняться для каждого из предоставленных входных данных. Итак, в данном примере тестовый сценарий будет выполнен трижды.
Шаг 4 — Создайте файл определения шага.
-
Выберите и щелкните правой кнопкой мыши на схеме пакета.
-
Нажмите на «Новый» файл.
-
Назовите файл как commandLine.java
-
Запишите следующий текст в файл и сохраните его.
Выберите и щелкните правой кнопкой мыши на схеме пакета.
Нажмите на «Новый» файл.
Назовите файл как commandLine.java
Запишите следующий текст в файл и сохраните его.
package Outline; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.firefox.FirefoxDriver; import cucumber.annotation.en.Given; import cucumber.annotation.en.Then; i import cucumber.annotation.en.When; public class stepdefinition { WebDriver driver = null; @Given("^user navigates to facebook$") public void goToFacebook() { driver = new FirefoxDriver(); driver.navigate().to("https://www.facebook.com/"); } @When("^I enter Username as \"([^\"]*)\" and Password as \"([^\"]*)\"$") public void I_enter_Username_as_and_Password_as(String arg1, String arg2) { driver.findElement(By.id("email")).sendKeys(arg1); driver.findElement(By.id("pass")).sendKeys(arg2); driver.findElement(By.id("u_0_v")).click(); } @Then("^login should be unsuccessful$") public void validateRelogin() { if(driver.getCurrentUrl().equalsIgnoreCase( "https://www.facebook.com/login.php?login_attempt=1&lwv=110")){ System.out.println("Test Pass"); } else { System.out.println("Test Failed"); } driver.close(); } }
Примечание. В коде мы должны определить функцию, имеющую два входных аргумента: один для имени пользователя и другой для пароля. Таким образом, для каждого набора входных данных, представленных в примере тега, будут выполнены наборы GIVEN, WHEN и THEN.
Шаг 5 — Создайте файл класса бегуна.
-
Выберите и щелкните правой кнопкой мыши на схеме пакета.
-
Нажмите на «Новый» файл.
-
Дайте файлу имя, например, runTest.java
-
Запишите следующий текст в файл и сохраните его.
Выберите и щелкните правой кнопкой мыши на схеме пакета.
Нажмите на «Новый» файл.
Дайте файлу имя, например, runTest.java
Запишите следующий текст в файл и сохраните его.
package Outline; import org.junit.runner.RunWith; import cucumber.junit.Cucumber; @RunWith(Cucumber.class) @Cucumber.Options(format = {"pretty", "html:target/cucumber"}) public class runTest { }
-
Откройте командную строку.
-
Перейдите в каталог, где находится этот пакет «commandLine». e: \ Workspace \ LoginTest \ src> cd test \ java
-
Запустите команду mvn test: вы увидите, что все сценарии, описанные в файле возможностей, были выполнены (если ошибок нет). Наконец, в нижней части вы найдете следующую информацию.
Откройте командную строку.
Перейдите в каталог, где находится этот пакет «commandLine». e: \ Workspace \ LoginTest \ src> cd test \ java
Запустите команду mvn test: вы увидите, что все сценарии, описанные в файле возможностей, были выполнены (если ошибок нет). Наконец, в нижней части вы найдете следующую информацию.
Результат
This describes the total test run, along with failure if any.
Предыдущая команда запускает все, как указано в классе JUnit Runner. Однако, если мы хотим переопределить конфигурации, упомянутые в Runner, ниже приведены несколько примеров, чтобы сделать это.
Теперь запустите команду mvn test — Dcucumber.options = «- help» в командной строке. Выполнение этого напечатает все доступные опции.
Чтобы запустить только определенные теги, введите в командной строке команду mvn test -Dcucumber.options = «- tags @SmokeTest». Он будет запускать только теги, помеченные @SmokeTest.
Чтобы изменить формат результата, в командной строке введите команду E: \ Workspace \ LoginTest> mvn test -Dcucumber.options = «- плагин junit: target / cucumber-junit-report.xml» в командной строке. Изменяет отчет. отформатировать в генератор отчетов JUnit.