cucumber gherkin tutorial
Овај информативни водич објашњава предности оквира краставца краставца и како написати скрипте за аутоматизацију помоћу језика корнишона са јасним примерима:
Краставац је алат заснован на оквиру заснованом на понашању (БДД). БДД је методологија за разумевање функционалности апликације у једноставном представљању у обичном тексту.
Главни циљ Оквира за развој на основу понашања је да учини да различите пројектне улоге, попут пословних аналитичара, осигурања квалитета, програмера итд., Разумеју апликацију без зарањања дубоко у техничке аспекте.
Алат за краставце обично се користи у реалном времену за писање тестова прихватања апликације. Алат за краставце пружа подршку за многе програмске језике као што су Јава, Руби, .Нет итд. Може се интегрисати са више алата као што су Селениум, Цапибара итд.
Шта ћете научити:
- Шта је корнишон?
- Предности оквира краставца краставца краставаца
- Интеграција краставца са селеном
- Закључак
Шта је корнишон?
Корнишон је језик који користи алат Краставац. То је једноставан приказ понашања апликације на енглеском језику. Краставац користи концепт датотека карактеристика у сврху документације. Садржај у датотекама карактеристика написан је на корнишонском језику.
У следећим темама видећемо више о предностима оквира краставца краставца краставца, интегрисању краставца са селеном, стварању датотеке карактеристика и одговарајуће датотеке дефиниције корака и пример датотеке датотеке.
Уобичајени услови за оквир краставца краставца краставца
Оквир краставца краставца користи одређене кључне речи које су кључне за писање датотеке карактеристика.
Следећи изрази се најчешће користе у датотекама карактеристика:
# 1) Карактеристика:
Датотека карактеристика мора да садржи висококвалитетни опис апликације која се тестира (АУТ). Први ред датотеке са карактеристикама мора започети кључном речи „Феатуре“ која следи описапликацијана тесту. Према стандардима које прописује Краставац, датотека карактеристика мора у први ред садржати следећа три елемента.
- Феатуре Кеиворд
- Име функције
- Опис функције (опционално)
Кључну реч карактеристике мора пратити име обележја. Може да садржи опционални одељак описа који се може проширити на више редова датотеке функције. Датотека функције има екстензију .феатуре.
# 2) Сценарио:
Сценарио је тест спецификација функционалности која се тестира. У идеалном случају датотека датотека може садржати један или више сценарија као део функције. Сценариј укључује више корака теста. Према стандардима краставца, сценарио мора садржавати 3-5 тест корака, јер дуготрајни сценарији теже да изгубе своју изражајну снагу чим се број корака повећа.
Сценариј може садржати следеће кораке:
- Радња коју треба да изврши корисник.
- Очекивани резултати акције.
На корнишонском језику, сценарио мора да садржи следеће кључне речи:
- Дато
- Када
- Онда
- И
Дато:
Дата кључна реч користи се за одређивање предуслова за извршавање одређеног сценарија. Сценариј може садржавати више од једног датог израза или не може бити датог израза за сценарио.
Када:
Ова кључна реч користи се за одређивање радње или догађаја који је корисник извршио, попут клика на дугме, уноса података у оквир за текст итд. У једном сценарију може бити више изјава када.
Онда:
Тада се кључна реч користи за одређивање очекиваног исхода радње коју је извршио корисник. У идеалном случају, када кључну реч мора следити кључна реч Тхен да бисте разумели очекивани резултат корисничких радњи.
И:
А кључна реч се користи као кључна реч везника за комбиновање више изјава. На пример, више изјава Дато и Када у сценарију се могу комбиновати помоћу кључне речи „И“.
# 3) Преглед сценарија:
Оквир сценарија је начин параметризације сценарија.
Ово се идеално користи када исти сценарио треба извршити за више скупова података, али кораци теста остају исти. Оквир сценарија мора пратити кључна реч „Примери“ која одређује скуп вредности за сваки параметар.
Испод је пример за разумевање концепта Оквира сценарија:
Пример:
Преглед сценарија: Отпремите датотеку
Дато да је корисник на екрану за отпремање датотека.
Када корисник кликне на дугме Прегледај.
И корисник улази у оквир за текст за отпремање.
И корисник кликне на дугме за унос.
Онда проверава да ли је отпремање датотека успешно.
Примери:
| име датотеке |
| датотека1 |
| датотека2 |
Параметри унутар оквира сценарија морају бити наведени са знаковима ‘’. Листа вредности података за параметар мора бити наведена помоћу симбола Пипе (|).
# 4) Позадина:
Кључна реч позадина користи се за груписање више задатих исказа у једну групу.
Ово се обично користи када се исти скуп датих израза понавља у сваком сценарију датотеке функције. Уместо да више пута наводе дате изјаве за сваки сценарио, они се могу навести кључном речи „Позадина“ пре првог сценарија.
Пример:
Позадина:
Дати корисник се налази на страници за пријаву апликације
Предности оквира краставца краставца краставаца
Доље су дате предности оквира краставца краставца који краставац чини идеалним избором за брзо развијајућу се агилну методологију у данашњем корпоративном свету:
- Краставац је алат отвореног кода.
- Приказивање обичног текста олакшава нетехничким корисницима разумевање сценарија.
- Премошћује јаз у комуникацији између различитих заинтересованих страна у пројекту, попут пословних аналитичара, програмера и особља за осигурање квалитета.
- Случајеви за аутоматизацију развијени помоћу алата Краставац једноставнији су за одржавање и разумевање.
- Лако се интегрише са другим алатима као што су Селениум и Цапибара.
Интеграција краставца са селеном
Краставац и селен су два најмоћнија алата за функционално тестирање. Интеграција краставца са Селениум Вебдривер помаже разним нетехничким члановима пројектног тима да разумеју ток апликације.
Следећи кораци дати су за интеграцију Краставца са Селениум Вебдривер:
Корак 1:
Краставац се може интегрисати са Селениум Вебдривер преузимањем потребних ЈАР датотека.
Доље је дата листа ЈАР датотека које треба преузети за коришћење Краставца са Селениум Вебдривер:
- покривеност-2.1.1.јар
- краставац-језгро-1.2.2.јар
- краставац-јава-1.2.2.јар
- краставац-јунит-1.2.2.јар
- цуцумбер-јвм-депс-1.0.3.јар
- краставац-извештавање-0.1.0.јар
- корнишон-2.12.2.јар
- хамцрест-цоре-1.3.јар
- јунит-4.11.јар
Горње ЈАР датотеке се могу преузети са Мавена веб сајт .
Свака од горе наведених ЈАР датотека мора се појединачно преузети са горе наведене веб локације.
Корак 2:
Направите нови пројекат у Ецлипсеу и додајте горе наведене ЈАР датотеке у пројекат. Да бисте додали ЈАР датотеке у пројекат, кликните десним тастером миша на пројецт -> Буилд Патх -> Конфигурирање Буилд Патх.
Кликните на Додајте спољне ЈАР-ове дугме и додајте листу горе наведених ЈАР датотека у пројекат.
Корак # 3:
Пре него што креирамо датотеке карактеристика и датотеке дефиниције корака, морамо да инсталирамо додатак Натурал у Ецлипсе. То се може учинити копирањем и лепљењем датотеке УРЛ на Помоћ -> Инсталирање новог софтвера -> УРЛ
Кликните на Следеће дугме да бисте инсталирали додатак у Ецлипсе.
како отворити торрент датотеку
Креирање датотеке са карактеристикама
Направите засебне фасцикле за датотеке карактеристика и датотеке дефиниције корака у структури пројекта. Датотеке дефиниције корака укључују Јава линије кодирања, док датотека карактеристика садржи изјаве на енглеском језику у облику Гхеркин језика.
- Створите засебну фасциклу за чување датотеке карактеристика десним кликом на пројекат -> Ново -> Пакет .
- Датотека својства се може створити навигацијом на Десни клик на пројекат / пакет -> Ново -> Датотека .
- Наведите име за датотеку функције. Датотеку функције мора пратити екстензија .феатуре
- Структура пројекта мора изгледати као доња структура.
Креирање датотеке дефиниције корака
Сваки корак датотеке функције мора бити мапиран у одговарајућу дефиницију корака. Ознаке коришћене у датотеци краставца краставца морају се мапирати у дефиницију корака помоћу ознака @Гивен, @Вхен и @Тхен.
Следи синтакса датотеке дефиниције корака:
Синтакса:
@ТагНаме („^ Име корака $“)
Публиц воид метходНаме ()
{
Дефиниција методе
}
Имена корака морају имати префикс са симболом карат (^) и суфикс са симболом ($). Име методе може бити било које важеће име које је прихватљиво према стандардима Јава кодирања. Дефиниција методе укључује изјаве кодирања на Јави или било ком другом програмском језику по избору тестера.
Примери датотеке датотеке и дефиниције корака
За стварање датотеке функције и датотеке дефиниције корака може се користити следећи сценарио:
Сценарио:
- Отворите страницу за пријављивање апликације која се тестира.
- Унесите корисничко име
- Унесите лозинку
- Кликните на дугме Пријава.
- Проверите да ли је пријава корисника успешна.
Датотека функције:
Горњи сценарио се може написати у облику датотеке карактеристика као што је приказано у наставку:
Одлика: Пријавите се у апликацију која се тестира.
Сценарио: Пријавите се на апликацију.
Дато Отворите прегледач Цхроме и покрените апликацију.
Када Корисник уноси корисничко име у поље УсерНаме.
И Корисник уноси лозинку у поље Лозинка.
Када Корисник кликне на дугме Пријава.
Датотека дефиниције корака:
У горњој функцији, датотека се може пресликати у одговарајућу датотеку дефиниције корака, као што је приказано доле. Имајте на уму да да би се обезбедила веза између датотеке функције и датотеке дефиниције корака, датотека за покретање теста мора бити креирана.
Испод је приказ датотеке дефиниције корака према њеној датотеци карактеристика.
package com.sample.stepdefinitions; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; import cucumber.api.java.en.And; import cucumber.api.java.en.Given; import cucumber.api.java.en.When; public class StepDefinition { WebDriver driver; @Given('^Open Chrome browser and launch the application$') public void openBrowser() { driver = new ChromeDriver(); driver.manage().window().maximize(); driver.get('www.facebook.com'); } @When('^User enters username onto the UserName field$') public void enterUserName() { driver.findElement(By.name('username')).sendKeys('test@demo.com'); } @And('^User enters password onto the Password field$') public void enterPassword() { driver.findElement(By.name('password')).sendKeys('test@123'); } @When('^User clicks on Login button$') public void clickOnLogin() { driver.findElement(By.name('loginbutton')).click(); } }
Класа ТестРуннер користи се за обезбеђивање везе између датотеке карактеристика и датотеке дефиниције корака. Испод је представљен пример како изгледа класа ТестРуннер. Класа ТестРуннер је обично празна класа без дефиниције класе.
Package com.sample.TestRunner import org.junit.runner.RunWith; import cucumber.api.CucumberOptions; import cucumber.api.junit.Cucumber; @RunWith(Cucumber.class) @CucumberOptions(features='Features',glue={'StepDefinition'}) public class Runner { }
Морамо покренути датотеку класе ТестРуннер за извршавање датотека карактеристика и датотека дефиниције корака.
Примери
Испод је приказ датотеке са карактеристикама различитих сценарија.
Пример # 1:
Да бисте проверили да ли су корисничко име и лозинка доступни на страници за пријављивање:
Одлика: Потврдите приказ поља за корисничко име и лозинку на страници за пријављивање.
Сценарио: Да бисте проверили приказ поља за корисничко име и лозинку.
Дато Корисник отвара прегледач Фирефок и долази до апликације која се тестира.
Када Корисник прелази на страницу за пријављивање.
Онда Потврдите приказ поља корисничког имена на страници за пријаву.
И Потврдите приказ поља са лозинком на страници за пријаву.
Пример # 2:
Испод је пример кључне речи за оквир сценарија у краставцу краставца краставца:
Одлика: Проверите да ли је пријава успешна за више скупова тест података.
Преглед сценарија: Да бисте проверили да ли је пријава успешна за више скупова тест података.
Дато Отворите прегледач Цхроме и покрените апликацију.
Када Корисник улази у поље УсерНаме.
И Корисник улази у поље Лозинка.
Када Корисник кликне на дугме Пријава.
Примери:
| корисничко име | лозинка |
| усер1 | пассворд1 |
| корисник2 | лозинка2 |
Закључак
- БДД је методологија за разумевање функционалности апликације у једноставном представљању у обичном тексту.
- Краставац је алат који користи Бехавиоур Дривен Девелопмент за писање тестова прихватања апликације. Користи се за премошћавање комуникацијског јаза између различитих учесника у пројекту.
- Главна употреба краставца лежи у једноставности разумевања употребе датотека карактеристика од стране нетехничких корисника.
Још није касно да пробате овај алат за краставце на језику корнишон.
Препоручено читање
- Водич за Геб - Тестирање аутоматизације прегледача помоћу алата Геб
- Водич за краставац селениј: Интеграција Јава Селениум ВебДривер краставца
- Испитивање аутоматизације помоћу алата краставаца и селена - Туториал бр. 30
- Шта је испитивање аутоматизације (ултимативни водич за покретање аутоматизације теста)
- Водич за Споцк: Тестирање са Споцком и Гроовием
- Најбољи алати за тестирање софтвера 2021. године (КА Тест Аутоматион Тоолс)
- Водич за испитивање разарања и испитивања без разарања
- Функционално тестирање вс нефункционално тестирање