Учебники

Огурец — Параметры командной строки

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