Огурец - параметры командной строки
Огурец можно использовать для тестирования практически любой компьютерной системы. До сих пор мы видели, как запустить тест с помощью Eclipse IDE. Есть еще один способ запустить тест Cucumber - через интерфейс командной строки. Так в чем же преимущество этого?
Запуск любой тестовой среды из Терминала имеет свои преимущества, такие как переопределение конфигураций запуска, упомянутых в коде.
Чтобы выполнить тест Cucumber с помощью командной строки, выполните следующие действия после настройки системы.
Step 1- Создайте тестовый проект Maven с именем commandLine.
Перейдите в File → New → Others → Maven → Maven Project → Next.
Укажите идентификатор группы (идентификатор группы будет однозначно идентифицировать ваш проект для всех проектов).
Укажите идентификатор артефакта (идентификатор артефакта - это имя баночки без версии. Вы можете выбрать любое имя в нижнем регистре).
Щелкните Готово.
Откройте pom.xml -
Перейдите в проводник пакетов в левой части Eclipse.
Разверните проект CucumberTest.
Найдите pom.xml файл.
Щелкните правой кнопкой мыши и выберите вариант «Открыть с помощью текстового редактора».
Добавить зависимость для Selenium - это укажет Maven, какие jar-файлы Selenium должны быть загружены из центрального репозитория в локальный репозиторий.
Откройте pom.xml в режиме редактирования, создайте тег зависимостей (<dependencies> </dependencies>) внутри тега проекта.
Внутри тега зависимостей создайте тег зависимости. (<dependency> </dependency>).
Введите следующую информацию в теге зависимости.
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>2.47.1</version>
</dependency>
Добавить зависимость для 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 должны быть загружены из центрального репозитория в локальный репозиторий.
Создайте еще один тег зависимости.
Введите следующую информацию в теге зависимости.
<dependency>
<groupId>info.cukes</groupId>
<artifactId>cucumber-junit</artifactId>
<version>1.0.2</version>
<scope>test</scope>
</dependency>
Добавить зависимость для JUnit - это укажет Maven, какие файлы JUnit необходимо загрузить из центрального репозитория в локальный репозиторий.
Создайте еще один тег зависимости.
Введите следующую информацию в теге зависимости.
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.10</version>
<scope>test</scope>
</dependency>
Проверить двоичные файлы.
После успешного редактирования pom.xml сохраните его.
Перейдите в Project → Clean - это займет несколько минут.
Step 2 - Создайте пакет с именем «схема» в src / test / java.
Step 3 - Создайте файл функций с именем «commandLine.feature».
Выберите и щелкните правой кнопкой мыши контур пакета.
Щелкните "Новый" файл.
Дайте файлу имя, например «commandLine.feature».
Напишите ниже текст в файле и сохраните его.
Feature - Схема сценария
Scenario Outline - Функциональность входа в социальную сеть.
Учитывая, что пользователь переходит на Facebook
Когда я ввожу имя пользователя как «<имя пользователя>» и пароль как «<пароль>»
Тогда вход в систему должен быть неудачным
Примеры
| username | password |
| username1 | password1 |
| username2 | password2 |
Note- Здесь пример аннотации описывает диапазон входных данных, предоставляемых при выполнении сценария. Сценарий тестирования будет выполняться для каждого из предоставленных входных данных. Итак, в данном примере тестовый сценарий будет выполнен трижды.
Step 4 - Создайте файл определения шага.
Выберите и щелкните правой кнопкой мыши контур пакета.
Щелкните "Новый" файл.
Назовите файл как 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();
}
}
Note- В коде мы должны определить функцию, имеющую два входных аргумента: одно имя пользователя, а другое - пароль. Таким образом, для каждого набора входных данных, представленных в примере тега, будет выполняться набор GIVEN, WHEN и THEN.
Step 5 - Создайте файл класса бегуна.
Выберите и щелкните правой кнопкой мыши контур пакета.
Щелкните "Новый" файл.
Дайте файлу имя, например, 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. е: \ 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 = "- plugin junit: target / cucumber-junit-report.xml" в командной строке. Он изменяет отчет формат в генератор отчетов JUnit.