Огурец можно использовать для тестирования практически любой компьютерной системы. До сих пор мы видели, как запустить тест с использованием 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.