В этом руководстве вы узнаете, как интегрировать Cucumber с Selenium Webdriver.
Что такое огурец?
Cucumber - это подход к тестированию, который поддерживает разработку на основе поведения (BDD). Он объясняет поведение приложения простым английским текстом с использованием языка Gherkin.
Узнайте больше на - https://www.guru99.com/cucumber-tutorials.html
Что такое селен?
Selenium - это инструмент автоматизации для функционального тестирования веб-приложения. Selenium поддерживает разные языки, такие как java, ruby, python C # и т. Д.
Узнайте больше на - https://www.guru99.com/selenium-tutorial.html
В этом уроке по огурцу мы узнаем:
- Зачем использовать огурец с селеном?
- Необходимое условие для использования огурца с селеном.
- Автоматизация тестирования с использованием огурца с селеном.
- Сценарий 1. Напечатайте текст в консоли.
- Сценарий 2: введите учетные данные для входа и сбросьте значение.
- Сценарий 3: Введите учетные данные для входа на Guru99 и сбросьте значение. Сделайте это для 3 наборов данных.
Зачем использовать огурец с селеном?
Огурец и селен - две популярные технологии.
Большинство организаций используют Selenium для функционального тестирования. Эти организации, которые используют Selenium, хотят интегрировать Selenium с Cucumber, поскольку Cucumber позволяет легко читать и понимать поток приложения.
Инструмент Cucumber основан на структуре разработки, управляемой поведением, которая действует как мост между следующими людьми:
- Инженер-программист и бизнес-аналитик.
- Ручной тестер и тестер автоматизации.
- Ручной тестировщик и разработчики.
Фреймворк Cucumber BDD также помогает клиенту понимать код приложения, поскольку он использует язык Gherkin в виде обычного текста. Любой в организации может понять поведение программного обеспечения. Синтаксис Gherkin представляет собой простой текст, который можно читать и понимать.
Предпосылка для использования огурца с селеном
Прежде чем мы начнем интеграцию Cucumber Selenium, нам понадобятся следующие элементы:
- Файлы Selenium jar:
- Селен-сервер-автономный
Можно скачать с http://www.seleniumhq.org/download/
Файлы Jar для огурца:
- Ядро огурца
- Огурец-html
- покрытие кода cobertura
- Огурец-ява
- Огурец-можжевельник
- Огурец-jvm-deps
- Огурец-отчет
- Hemcrest-сердечник
- Корнишон
- Юнит
Можно скачать по адресу https://mvnrepository.com/search?q=Cucumber.
Вам нужно искать файлы и скачивать их по отдельности.
Например, мы покажем вам, как загрузить один из файлов jar, то есть «Cucumber-core».
Щелкните указанную выше ссылку для скачивания. Он перенаправляет на указанный ниже сайт. Теперь найдите конкретную банку, то есть «Ядро огурца», как показано на скриншоте ниже:
На следующей странице щелкните версию 1.2.2,
На следующем экране нажмите «Загрузить», чтобы получить файл jar «Ядро огурца».
Примечание . Для вашего удобства мы собрали здесь jar-файлы, необходимые для загрузки с Maven. Со временем эти банки могут обновиться и стать несовместимыми. Вам предлагается загрузить их, используя метод, показанный выше.
Автоматизация тестирования с использованием огурца с селеном.
Давайте шаг за шагом изучим, как использовать огурец с селеном. Здесь мы рассмотрим 3 сценария:
- Сценарий 1. Напечатайте текст в консоли.
- Сценарий 2: введите учетные данные для входа и сбросьте значение.
- Сценарий 3: Введите учетные данные для входа на Guru99 и сбросьте значение. Сделайте это для 3 наборов данных.
Сценарий 1. Напечатайте текст в консоли.
В этом сценарии мы просто печатаем текст в консоли с помощью Cucumber.
Шаг 1) Создайте проект в eclipse.
Создайте проект Java с именем «CucumberWithSelenium», как показано на снимке экрана ниже.
Шаг 2) Добавление файлов Jar в проект.
Щелкните правой кнопкой мыши проект> выберите "Свойства"> "Перейти к пути сборки Java". Добавьте все ранее скачанные библиотеки.
Шаг 3) Создание файла характеристик
Для создания файла функций сначала создайте папку функций, как показано на скриншоте ниже.
Теперь введите имя папки «Features» и нажмите кнопку «Finish».
Теперь создайте файл функции в папке «Features» с именем «MyTest.feature» - процесс аналогичен созданию папки.
Примечание: вам может потребоваться установить подключаемый модуль Cucumber Eclipse, чтобы это работало. Goto - Helps-> Install New Software-> скопируйте и вставьте ссылку http://cucumber.github.io/cucumber-eclipse/update-site/ и установите
Шаг 4) Напишите сценарии.
Ниже приведены строки, записанные в файле MyTest.feature на языке Gherkin, как показано ниже:
Функция: функция сброса на странице входа в приложение
Сценарий: проверка кнопки сброса
Учитывая Откройте Firefox и запустите приложение
Когда введите имя пользователя и пароль
Затем сбросьте учетные данные
Код Пояснение
Строка 1) В этой строке мы пишем бизнес-функционал.
Строка 2) В этой строке мы пишем сценарий для тестирования.
Строка 3) В этой строке мы определяем предусловие.
Строка 4) В этой строке мы определяем действие, которое нам нужно выполнить.
Строка 4) В этой строке мы определяем ожидаемый результат или результат.
Шаг 5) Написание скрипта selenium testrunner для проектирования фреймворка Selenium Cucumber
Здесь мы создаем пакет TestRunner, а затем под ним файл класса Runner.java.
пакет TestRunner;import org.junit.runner.RunWith;import cucumber.api.CucumberOptions;import cucumber.api.junit.Cucumber;@RunWith (Cucumber.class)@CucumberOptions (features = "Features", glue = {"StepDefinition"})открытый класс Runner{}
В приведенном выше примере кода Java Cucumber мы запускаем тест на огурец, используя следующие аннотации:
В аннотации @RunWith () рассказывается о том, что класс тестера запускает выполнение наших тестов.
Аннотация @CucmberOptions () используется для установки некоторых свойств для нашего теста огурца, таких как файл функций, определение шага и т. Д.
Скриншот файла TestRunner.
Шаг 6) Создание сценария определения шага.
Теперь мы создаем пакет StepDefinition, а затем файл сценария Steps.java под ним. Здесь мы фактически пишем сценарий селена для выполнения теста с использованием методов Cucumber.
package StepDefinition;import cucumber.api.java.en.Given;import cucumber.api.java.en.Then;import cucumber.api.java.en.When;public class Steps {@Given ("Откройте Firefox и запустите приложение $")public void open_the_Firefox_and_launch_the_application () бросает Throwable{System.out.println («На этом шаге откройте Firefox и запустите приложение.»);}@When ("Введите имя пользователя и пароль $")public void enter_the_Username_and_Password () бросает Throwable{System.out.println («На этом шаге введите имя пользователя и пароль на странице входа.»);}@Then ("Сбросить учетные данные $")public void Reset_the_credential () бросает Throwable{System.out.println («На этом шаге нажмите кнопку« Сброс ».»);}}
В приведенном выше коде создается класс с именем «Шаги». Аннотация огурца используется для сопоставления с файлом объектов. Каждый метод аннотации определяется:
@Given аннотация определяет метод открытия firefox и запуска приложения
@ Когда аннотация определяет метод ввода имени пользователя и пароля
@ Затем аннотация определяет метод для сброса учетных данных
В каждом методе мы только печатаем сообщение.
Ниже приведен снимок экрана скрипта Steps.java и дерева проекта, как это выглядит.
Примечание: определение шага - это не что иное, как шаги, которые вы хотите выполнить в этом методе огурца.
Шаг 7) Выполнение скрипта.
Пользователь может выполнить этот сценарий из сценария Test runner, например Runner.java, как показано на снимке экрана ниже.
Шаг 8) Проанализируйте вывод.
При выполнении сценария Runner.java текст отображается на консоли. Это тот же текст, который определен в скрипте Steps.java.
Сценарий 2: введите учетные данные для входа и сбросьте значение.
Здесь мы просто введем учетные данные на демо-странице входа в Guru99 и сбросим значение.
Для сценария 2 нам нужно обновить только скрипт Steps.java. Здесь мы фактически пишем сценарий селена, как показано ниже. Во-первых, нам нужно добавить в этот проект jar-файл Selenium.
Шаг 1) Здесь мы обновляем скрипт Steps.java, как показано в приведенном ниже коде и на скриншоте.
package StepDefinition;import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.firefox.FirefoxDriver;import cucumber.api.java.en.Given;import cucumber.api.java.en.Then;import cucumber.api.java.en.When;public class Steps {Драйвер WebDriver;@Given ("Откройте Firefox и запустите приложение $")public void open_the_Firefox_and_launch_the_application () бросает Throwable{System.setProperty ("webdriver.gecko.driver", "E: //Selenium//Selenium_Jars//geckodriver.exe");драйвер = новый FirefoxDriver ();driver.manage (). window (). maximize ();driver.get ("http://demo.guru99.com/v4");}@When ("Введите имя пользователя и пароль $")public void enter_the_Username_and_Password () бросает Throwable{driver.findElement (By.name ("uid")). sendKeys ("username12");driver.findElement (By.name ("пароль")). sendKeys ("password12");}@Then ("Сбросить учетные данные $")public void Reset_the_credential () бросает Throwable{driver.findElement (By.name ("btnReset")). click ();}}
Скриншот вышеупомянутого скрипта селена.
Шаг 2) Запустите сценарий.
После обновления запускаем Runner.java.
Шаг 3) Проанализируйте вывод.
На выходе вы можете увидеть следующее:
- Браузер запущен.
- Открывается демо-сайт банка Guru99.
- Имя пользователя и пароль размещены на странице входа.
- Сбросьте значения.
Сценарий 3: Введите учетные данные для входа на Guru99 и сбросьте значение. Сделайте это для 3 наборов данных.
Здесь нам нужно обновить как «Step.java», так и файл функций.
Шаг 1) Обновите файл функций, как показано ниже:
Здесь мы обновляем файл функций с помощью синтаксиса «Схема сценария» и «Примеры».
Функция: функция сброса на странице входа в приложение
Краткое описание сценария: проверка кнопки сброса с номерами учетных данных
Учитывая Откройте Firefox и запустите приложение
Когда введите имя пользователя <имя пользователя> и пароль <пароль>
Затем сбросьте учетные данные
Примеры:
| имя пользователя | пароль |
| Пользователь1 | пароль1 |
| Пользователь2 | пароль2 |
| Пользователь3 | пароль3 |
// В этой строке мы определяем набор данных.
Шаг 2) Теперь обновите скрипт Step.java.
Здесь мы обновляем методы, чтобы передать параметры, обновленный скрипт, показанный ниже:
package StepDefinition;import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.firefox.FirefoxDriver;import cucumber.api.java.en.Given;import cucumber.api.java.en.Then;import cucumber.api.java.en.When;public class Steps {Драйвер WebDriver;@Given ("Откройте Firefox и запустите приложение $")public void open_the_Firefox_and_launch_the_application () бросает Throwable{System.setProperty ("webdriver.gecko.driver", "E: //Selenium//Selenium_Jars//geckodriver.exe");драйвер = новый FirefoxDriver ();driver.manage (). window (). maximize ();driver.get ("www.demo.guru99.com/v4");}@When ("Введите имя пользователя \" (. *) \ "И пароль \" (. *) \ "$")public void enter_the_Username_and_Password (String username, String password) бросает Throwable{driver.findElement (By.name ("uid")). sendKeys (имя пользователя);driver.findElement (By.name ("пароль")). sendKeys (пароль);}@Then ("Сбросить учетные данные $")public void Reset_the_credential () бросает Throwable{driver.findElement (By.name ("btnReset")). click ();}}
Шаг 3) Теперь выполните обновленный скрипт.
На экране ниже показано успешное выполнение сценария и время, затраченное на каждый набор данных.
Шаг 4) Проанализируйте вывод.
На выходе вы можете увидеть следующее:
Ниже вывод повторяется для количества наборов данных, т. Е. Для 3 наборов.
- Браузер запущен.
- Открывается демо-сайт банка Guru99.
- Имя пользователя и пароль размещены на странице входа.
- Сбросьте значения.
Вывод.
Огурец - очень популярный инструмент BDD. Его легко читать, и его могут понять все заинтересованные стороны, включая технических и нетехнических специалистов.
Cucumber можно интегрировать с Selenium, выполнив следующие 3 шага
- Создайте файл функций, в котором шаг за шагом определите функцию и сценарии с использованием языка Gherkin.
- Создайте файл Testrunner. В этом файле мы интегрировали Cucumber с фреймворком BDD в Selenium. Выполняем этот скрипт.
- Определение Creat Step, фактический сценарий селена, определенный в этом пакете.