Огуречный учебник по селену | Как выполнить тестирование веб-сайта
Без сомнения, Selenium — один из фантастических инструментов в области Автоматизация тестирования, но нетехническому человеку может показаться немного сложным понять его работу из-за сложности кода. Чтобы облегчить эту задачу, в игру вступает Cucumber, который делает сложный код простым и понятным. Но как именно это происходит? Я расскажу вам об этом в этой статье на Cucumber Selenium Tutorial.
Ниже приведены темы этой статьи:
Знакомство с огурцом
Cucumber — это подход/инструмент тестирования, который поддерживает Развитие, управляемое поведением (BDD). Это дает возможность писать тесты, понятные любому, независимо от степени его технических знаний.
Он объясняет поведение приложения простым английским текстом, используя Огурец язык. Я надеюсь, что вы получили представление о том, что такое Cucumber. Теперь давайте двинемся дальше и разберемся с некоторыми фактами, свидетельствующими о необходимости использования Cucumber в среде тестирования.
Почему огурец?
Что ж, Cucumber — один из самых популярных инструментов по причинам, перечисленным ниже:
- Огурец Открытый исходный код и, следовательно, его бесплатное использование.
- Используя Cucumber, вы можете написать свой тестовые сценарии на нескольких языках, таких как Java, Ruby, .NET, Python и т. д.
- Он также интегрируется с Selenium, Ruby on Rails, Watir и другими. веб-тестирование инструменты.
- Огурец является одним из наиболее широко используемых БДД инструменты.
Вот некоторые из уникальных функций, которые делают Cucumber полезным для тестирования веб-сайта. Теперь, когда вы знаете, что такое Cucumber и зачем он вам нужен, давайте разберемся с одной из уникальных особенностей Cucumber, которая позволяет неспециалисту легко разобраться в тестовых примерах.
Развитие, управляемое поведением (BDD)
Проще говоря, BDD или Развитие, основанное на поведении — это метод, при котором ваши спецификации или тестовые примеры записываются простым английским языком, как предложения. При таком подходе членам команды, не являющимся техническими специалистами, легче понять поток и больше сотрудничать в процессе разработки программного обеспечения.
Давайте разберемся в этом на простом примере. Рассмотрим сценарий, в котором вы хотите протестировать веб-сайт Twitter. Один из тестовых сценариев — проверка учетных данных для входа. С помощью BDD вы можете написать этот тестовый сценарий в следующем формате:
Feature: Test Twitter smoke scenario
Scenario: Test login with valid credentials
Given Open the firefox and start application
When I enter valid username and valid password
Then user should be able to login successfully
В приведенном выше примере я только что написал несколько операторов на простом английском языке для определения сценариев. Я предоставлю больше информации об этом сценарии и его реализации в следующей части этой статьи. А пока давайте продвинемся дальше в статье Cucumber Selenium Tutorial и изучим основы Selenium.
Введение в Селен
Selenium является предпочтительным инструментом, когда речь идет об автоматизации тестов, выполняемых в веб-браузерах. Это полезно только для тестирования веб-приложений. Любое настольное (программное) приложение или мобильное приложение нельзя протестировать с помощью Selenium. Это очень полезно при написании функциональных тестов. Он также обеспечивает надежную работу с ‘н’ количество тестовых случаев, и это, очевидно, лучший инструмент автоматизации для веб-приложений.
Теперь, когда вы знаете, что такое Selenium, давайте двигаться дальше в этой статье об учебнике Cucumber Selenium и понять, зачем использовать Cucumber с Selenium?
Зачем использовать огурец с селеном?
Многие организации используют Selenium для функционального и регрессионного тестирования. Selenium и Cucumber — отличная комбинация, когда речь идет об автоматизации веб-приложений, поскольку Cucumber позволяет быстро писать тесты на языке, похожем на английский, а Selenium позволяет запускать в различных сочетаниях браузеров.
Инструмент Cucumber основан на платформе Behavior Driven Development, которая действует как мост между инженером-программистом и бизнес-аналитиком, а также между ручным тестировщиком и разработчиками.
При использовании Selenium с Cucumber для автоматизации тестирования тесты записываются в файлы функций, которые могут быть понятны различным заинтересованным сторонам в гибкой среде, например бизнес-аналитикам. Cucumber также обладает способностью поддерживать несколько сценариев и языков программирования, а JUnit используется для выполнения этих сценариев и создания выходных данных.
Поняв это, давайте теперь рассмотрим различные шаги по созданию приложения Cucumber и запуску тестовых случаев.
Шаги для создания приложения Cucumber
Различные шаги, связанные с созданием приложения Cucumber, следующие:
- Загрузите файлы Jar Cucumber и Selenium и настройте путь сборки.
- Добавьте плагин Cucumber из Eclipse Marketplace.
- Создайте файл функций и добавьте сценарии.
- Реализуйте шаги для сценариев.
- Напишите класс бегуна и выполните код.
Теперь давайте подробно разберем каждый из этих шагов.
Шаг 1: Загрузите файлы Cucumber и Selenium Jar
Огурец на самом деле не взаимодействует с браузером и выполняет действия на тестируемом сайте. Взаимодействие с веб-сайтом — это действие, выполняемое Selenium WebDriver. По этой причине вам необходимо скачать Огурец а также Selenium Webdriver jar-файлы. Ниже приведен список jar-файлов для Cucumber.
- Огуречная сердцевина
- Огурец-html
- покрытие кода cobertura
- Огурец-ява
- Огурец-юнит
- Огурец-jvm-депс
- Cucumber-отчетность
- Hamcrest-ядро
- Огурец
- Юнит
Как только вы загрузите эти файлы jar из Репозиторий Mavenвы можете настроить путь сборки вашего проекта и добавить все .банка файлы и библиотеки, как показано на снимке ниже.
Шаг 2: Следующим шагом будет установка Cucumber на Eclipse. Для этого вам нужно перейти на Справка -> Eclipse Marketplace -> Поиск огурцов и установить Огурец и натуралы на твое затмение. На снимке ниже показано то же самое.
Шаг 3: После настройки Cucumber следующим шагом будет создание файла функций. Сначала вам нужно создать новую исходную папку, а затем добавить файл функции, как показано ниже.
Затем вам нужно указать имя файла функции, как показано ниже.
Создав файл функций, вы можете написать сценарии, как показано в приведенном ниже коде.
Тестовый сценарий I:
Feature: Reset functionality on login page of Application
Scenario: Verification of Reset button
Given Open the Firefox and launch the application
When Enter the Username and Password
Then Reset the credential
Шаг 4: После этого вам необходимо реализовать сценарии с помощью определений шагов. В приведенном ниже коде я реализовал методы для сценария, которые я написал в файле функций.
package stepDefinitions;
import cucumber.api.java.en.Given;
import cucumber.api.java.en.Then;
import cucumber.api.java.en.When;
public class Steps {
@Given("^Open the Firefox and launch the application$")
public void open_the_Firefox_and_launch_the_application() throws Throwable
{
System.out.println("This Step open the Firefox and launch the application.");
}
@When("^Enter the Username and Password$")
public void enter_the_Username_and_Password() throws Throwable
{
System.out.println("This step enter the Username and Password on the login page.");
}
@Then("^Reset the credential$")
public void Reset_the_credential() throws Throwable
{
System.out.println("This step click on the Reset button.");
}
}
Шаг 5: Теперь последний шаг — создать «беговой класс’ и выполнить программу. По сути, структура вашего проекта должна выглядеть так, как показано на снимке ниже.
На приведенном выше снимке ‘Бегун.java’ является исполняемым файлом. Давайте теперь закодируем этот файл и поймем, как он работает.
package Runner;
import org.junit.runner.RunWith;
import cucumber.api.CucumberOptions;
import cucumber.api.junit.Cucumber;
@RunWith(Cucumber.class)
@CucumberOptions(features="features",glue={"stepD"})
public class Runner
{
}
В приведенном выше коде у меня есть «@CucumberOptions», и я указываю имя пакета как для файла функций, так и для файла Runner. Так что он будет реализовывать методы и запускать код. Когда вы запустите программу, она отобразит методы из определения шага. Ваш выход должно выглядеть так, как показано ниже:
This Step open the Firefox and launch the application.
This step enter the Username and Password on the login page.
This step click on the Reset button.
1 Scenarios (32m1 passed)
3 Steps (32m3 passed)
0m0.185s
Итак, вот как вам нужно записать все файлы и выполнить программу.
Тестовый сценарий 2:
Теперь давайте разберемся еще в одном сценарии, в котором я интегрировал Selenium с Cucumber. Рассмотрим сценарий, в котором вы хотите протестировать веб-сайт Twitter. Один из тестовых сценариев проверит учетные данные для входа. С помощью BDD вы можете написать этот тестовый сценарий в следующем формате:
Feature: Test Twitter smoke scenario
Scenario: Test login with valid credentials
Given Open the firefox and start application
When I enter valid username and valid password
Then user should be able to login successfully
Далее давайте напишем класс определения Step для реализации всех сценариев.
package stepD;
import java.util.concurrent.TimeUnit;
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 SmokeTest {
WebDriver driver;
@Given("^Open the firefox and start application$")
public void open_the_firefox_and_start_application() throws Throwable {
System.setProperty("webdriver.gecko.driver", "C:\\geckodriver-v0.23.0-win64\\geckodriver.exe");
driver = new FirefoxDriver();
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
driver.get("
}
@When("^I enter valid username and valid password$")
public void I_enter_valid_username_and_valid_password() throws Throwable {
driver.findElement(By.xpath("//input[@placeholder="Phone, email or username"]")).sendKeys("your_username");
driver.findElement(By.xpath("//div[@class="clearfix field"]//input[@placeholder="Password"]")).sendKeys("your_password");
}
@Then("^user should be able to login successfully$")
public void user_should_be_able_to_login_successfully() throws Throwable {
driver.findElement(By.xpath("//button[@class="submit EdgeButton EdgeButton--primary EdgeButtom--medium"]")).click();
}
}
В приведенной выше программе я использовал GeckoDriver для запуска браузера Firefox, а с помощью driver.get() он будет перемещаться по странице входа в Twitter. Кроме того, он найдет текстовое поле имени пользователя и пароля с помощью локатора XPath и введет действительные учетные данные. Наконец, он успешно войдет в систему и запустит тестовые случаи. Вы должны выполнить бегун как тест JUnit, чтобы узнать, пройдены ли тесты или нет.
На снимке ниже показан результат работы программы.
Вот как вам нужно записать все файлы и выполнить программу. Итак, это было все о Cucumber Selenium Tutorial. Надеюсь, вы поняли концепции и помогли повысить ценность своих знаний.
Есть к нам вопрос? Пожалуйста, укажите это в разделе комментариев статьи Cucumber Selenium Tutorial, и мы свяжемся с вами.