automation testing using cucumber tool
У прошлом водичу за Селениум, упознали смо вас са Селен Грид која је до дистрибуирано извршавање теста окружење за убрзање извршења тест проласка .
Сада на крају ове свеобухватне серије обуке за Селениум учимо напредно Испитивање селена и сродних појмова.
У овом и следећем упутству упознаћемо вас са Краставац - а Оквир за развој на основу понашања (БДД) који се користи са селеном за вршење испитивања прихватљивости.
Шта ћете научити:
Краставац Увод
Краставац је алат заснован на оквиру понашања вођен развојем (БДД) који се користи за писање тестова прихватања за веб апликацију. Омогућава аутоматизацију функционалне валидације у лако читљивом и разумљивом формату (попут обичног енглеског) пословним аналитичарима, програмерима, тестерима итд.
Датотеке краставаца могу послужити као добар документ за све. Постоје многи други алати попут ЈБехаве који такође подржавају БДД оквир. У почетку је Цуцумбер имплементиран у Руби, а затим проширен на Јава фрамеворк. Оба алата подржавају изворни ЈУнит.
Бехавиоур Дривен Девелопмент је продужетак Тест Дривен Девелопмент-а и користи се за тестирање система уместо за тестирање одређеног дела кода. Разговараћемо више о БДД и стилу писања БДД тестова.
Краставац се може користити заједно са селеном, Ватиром, Цапибаром итд. Краставац подржава многе друге језике као што су Перл, ПХП, Питхон, Нет итд. У овом упутству ћемо се концентрисати на Краставац са Јавом као језиком.
Основе краставаца
Да бисмо разумели краставац, морамо знати све карактеристике краставца и његову употребу.
водећа питања и одговори за интервју
# 1) Датотеке са карактеристикама:
Датотеке карактеристика су суштински део краставца који се користи за писање корака аутоматизације теста или тестова прихватања. Ово се може користити као живи документ. Кораци су спецификација апликације. Све датотеке карактеристика завршавају се екстензијом .феатуре.
Пример датотеке са карактеристикама:
одлика : Функција функционалности пријаве
Да би се осигурала функционалност пријаве,
Желим да покренем тест краставаца да бих потврдио да ради
Сценарио : Функционалност пријаве
Дато корисник прелази на СОФТВАРЕТЕТИНГХЕЛП.ЦОМ
Када корисник се пријављује користећи Корисничко име као „КОРИСНИК“ и Лозинка „ЛОЗИНКА“
Онда пријава би требала бити успешна
Сценарио : Функционалност пријаве
Дато корисник прелази на СОФТВАРЕТЕТИНГХЕЛП.ЦОМ
Када корисник се пријављује користећи Корисничко име као „КОРИСНИК1“ и Лозинка „ПАССВОРД1“
Онда треба избацити поруку о грешци
# 2) Карактеристика:
Т. његова даје информације о пословној функционалности на високом нивоу (погледајте претходни пример) и сврси апликације која се тестира. Свако би требао бити у стању да разуме намеру датотеке обележја читајући први корак функције. Овај део је у основи кратак.
# 3) Сценарио:
У основи, сценарио представља одређену функционалност која се тестира. Увидом у сценарио, корисник би требао бити у стању да разуме намеру која стоји иза сценарија и шта је тест. Сваки сценарио треба следити дати, када и затим форматирати. Овај језик се назива „корнишон“.
- Дато: Као што је горе поменуто, дато одређује предуслове. У основи је позната држава.
- Када : Ово се користи када треба извршити неку радњу. Као и у горњем примеру, видели смо када се корисник покуша пријавити користећи корисничко име и лозинку, то постаје акција .
- Онда: Очекивани исход или резултат треба ставити овде. За пример: проверите да ли је пријава успешна, успешна навигација по страници.
- Позадина: Кад год је потребан било који корак за извођење у сваком сценарију, ти кораци морају бити стављени у позадину. На пример: Ако корисник треба да очисти базу података пре сваког сценарија, тада се ти кораци могу ставити у позадину.
- И : И користи се за комбиновање две или више истих радњи.
Пример:
одлика : Функција функционалности пријаве
Сценарио : Функционалност пријаве
Дато корисник прелази на СОФТВАРЕТЕТИНГХЕЛП.ЦОМ
Када корисник се пријављује користећи Корисничко име као „КОРИСНИК“
И лозинка као „лозинка“
Онда пријава би требала бити успешна
И Треба приказати почетну страницу
систем продајног места за ипад
Пример позадине:
Позадина:
Дато корисник пријављен као администратор база података
И све смеће су обрисане
# 4) Преглед сценарија:
Обриси сценарија користе се када исти тест треба да се изведе са различитим низом података. Узмимо исти пример. Морамо да тестирамо функционалност пријаве са више различитих скупова корисничког имена и лозинке.
одлика : Функција функционалности пријаве
Да би се осигурала функционалност пријаве,
Желим да покренем тест краставаца да бих потврдио да ради
Оквир сценарија : Функционалност пријаве
Дато корисник прелази на СОФТВАРЕТЕСТИНГХЕЛП.ЦОМ
Када корисник се пријављује користећи Корисничко име као< корисничко име > и лозинку< Лозинка >
Онда пријава би требала бити успешна
Примери:
| корисничко име | лозинка |
| Том | лозинка1 |
| Харри | лозинка2 |
| Јерри | лозинка3 |
Белешка:
- Као што је приказано у горњем примеру, називи колона се прослеђују као параметар Када изјава.
- Уместо Сценарио, морате користити Оутлине Сценарио.
- Примери се користе за прослеђивање различитих аргумената у табеларном формату. Вертикалне цеви се користе за одвајање два различита стуба. Пример може садржати много различитих колона.
# 5) Ознаке:
Краставац подразумевано покреће све сценарије у свим датотекама карактеристика. У пројектима у стварном времену могло би постојати стотине датотека карактеристика које нису потребне за покретање у сваком тренутку.
На пример : Датотеке карактеристика повезане са тестом дима не морају се стално покретати. Дакле, ако у свакој датотеци функција која је везана за тест дима и покренете тест краставаца ознаком @СмокеТест наведете ознаку као бездимну. Краставац ће покретати само оне датотеке карактеристика специфичне за дате ознаке. Молимо следите доњи пример. У једној датотеци са карактеристикама можете одредити више ознака.
Пример употребе појединачних ознака:
@СмокеТест
одлика : Функција функционалности пријаве
Да би се осигурала функционалност пријаве,
Желим да покренем тест краставаца да бих потврдио да ради
Оквир сценарија : Функционалност пријаве
Дато корисник прелази на СОФТВАРЕТЕСТИНГХЕЛП.ЦОМ
Када корисник се пријављује користећи Корисничко име као< корисничко име > и лозинку< Лозинка >
Онда пријава би требала бити успешна
Примери:
| корисничко име | лозинка |
| Том | лозинка1 |
| Харри | лозинка2 |
| Јерри | лозинка3 |
Пример употребе више тагова:
Као што је приказано у доњем примеру, иста датотека са карактеристикама може се користити за сценарије испитивања дима, као и за сценарио тестирања пријаве. Када намеравате да покренете своју скрипту за тест дима, користите @СмокеТест. Слично томе, када желите да се ваша скрипта покрене за тест пријављивања, користите ознаку @ЛогинТест.
Било који број ознака може се споменути како за датотеку функције тако и за сценарио.
@СмокеТест @ЛогинТест
основна ц ++ питања за интервју
одлика : Функција функционалности пријаве
Да би се осигурала функционалност пријаве,
Желим да покренем тест краставаца да бих потврдио да ради
Оквир сценарија : Функционалност пријаве
Дато корисник прелази на СОФТВАРЕТЕТИНГХЕЛП.ЦОМ
Када корисник се пријављује користећи Корисничко име као и Лозинка
Онда пријава би требала бити успешна
Примери:
| корисничко име | лозинка |
| Том | лозинка1 |
| Харри | лозинка2 |
| Јерри | лозинка3 |
Слично томе, можете одредити ознаке за покретање одређеног сценарија у датотеци функције. Погледајте доњи пример да бисте покренули одређени сценарио.
одлика : Функција функционалности пријаве
Да би се осигурала функционалност пријаве,
Желим да покренем тест краставаца да бих потврдио да ради
@поситивеСценарио
Сценарио : Функционалност пријаве
Дато корисник прелази на СОФТВАРЕТЕТИНГХЕЛП.ЦОМ
Када корисник се пријављује користећи Корисничко име као „КОРИСНИК“ и Лозинка „ЛОЗИНКА“
Онда пријава би требала бити успешна
@негавивеСценарио
Сценарио : Функционалност пријаве
Дато корисник прелази на СОФТВАРЕТЕТИНГХЕЛП.ЦОМ
Када корисник се пријављује користећи Корисничко име као „КОРИСНИК1“ и Лозинка „ПАССВОРД1“
Онда порука о грешци треба да баци
# 6) ЈУнит Руннер:
За покретање датотеке специфичних карактеристика краставац користи стандардни ЈУнит Руннер и назначи ознаке у @Цуцумбер. Опције. Помоћу одвојених зареза могу се доделити више ознака. Овде можете одредити путању извештаја и врсту извештаја који желите да генеришете.
Пример Јунит Руннер-а:
import cucumber.api.junit.Cucumber;
импорт орг.јунит.руннер.РунВитх; @РунВитх (Цуцумбер.цласс) @ Цуцумбер.Оптионс (формат = {'СимплеХтмлРепорт: репорт / смокеТест.хтмл'}, тагс = {'@ смокеТест'}) Јавна класа ЈУнитРуннер {} Слично томе, можете дати упутства краставцу да покреће више ознака. Испод је приказан пример коришћења више ознака у краставцу за покретање различитих сценарија.
import cucumber.api.junit.Cucumber; import org.junit.runner.RunWith; @RunWith(Cucumber.class) @Cucumber.Options(format={'SimpleHtmlReport:report/smokeTest.html'},tags={'@smokeTest',”@LoginTest”}) Public class JUnitRunner { }
# 7) Извештај о краставцима:
Краставац ствара свој властити ХТМЛ формат. Међутим, боље извештавање може се урадити помоћу алата Јенкинс или бамбуса. Детаљи извештавања су покривени у следећој теми краставаца.
Постављање пројекта краставаца:
Детаљно објашњење постављања пројекта краставца доступно је одвојено у следећем упутству. Погледајте Водич за краставце Парт2 за више информација о подешавању пројеката. Имајте на уму да за краставац нису потребне додатне софтверске инсталације.
Имплементација датотеке са карактеристикама:
Ове кораке морамо применити на Јави да бисмо тестирали датотеке карактеристика. Потребно је створити класу која садржи оне дате, када и затим изјаве. Краставац користи своје напомене и сви кораци су уграђени у те напомене (дати, када, тада). Свака фраза почиње са „^“, тако да краставац разуме почетак корака. Слично томе, сваки корак се завршава с „$“. Корисник може да користи регуларне изразе за прослеђивање различитих података о тестирању. Регуларни изрази узимају податке из корака карактеристика и прелазе у дефиниције корака. Редослед параметара зависи од тога како се прослеђују из датотеке функције. Погледајте следећи водич за постављање пројеката и мапирање између датотека карактеристика и Јава класа.
Пример:
Испод је пример који илуструје како се датотеке функција могу имплементирати.
У овом примеру нисмо користили ниједан АПИ селена. Ово само показује како краставац функционише као самостални оквир. Молимо следите следећи водич за интеграцију селена са краставцем.
public class LoginTest { @Given('^user navigates to SOFTWARETETINGHELP.COM$') public void navigatePage() { system.out.println(“Cucumber executed Given statement”); } @When('^user logs in using Username as '(.*)' and Password '(.*)'$') public void login(String usename,String password) { system.out.println(“Username is:”+ usename); system.out.println(“Password is:”+ password); } @When('^click the Submit button$') public void clickTheSubmitButton() { system.out.println(“Executing When statement”) } @Then('^Home page should be displayed$') public void validatePage() { system.out.println(“Executing Then statement”) } @Then('^login should be successful$') public void validateLoginSuccess() { system.out.println(“Executing 2nd Then statement”) } }
Када извршите класу тркача краставаца, краставац ће започети читање корака датотеке карактеристика. На пример, када извршите @смокеТест, краставац ће прочитати одлика корак и Дато изјава од сценарију . Чим краставац пронађе С обзиром на изјаву, исто Дато изјава ће се тражити за ваше Јава датотеке. Ако се исти корак пронађе у јава датотеци, тада краставац извршава функцију наведену за исти корак, иначе ће краставац прескочити корак.
Закључак
У овом упутству смо покрили карактеристике алата за краставце и његову употребу у реалном времену.
Краставац је најомиљенији алат за многе пројекте, јер је лак за разумевање, читљив и садржи пословну функционалност.
У следећем поглављу , ми ћемо покрити како поставити краставац - јава пројекат и како интегрисати Селениум ВебДривер са краставцем.
Препоручено читање
- Водич за краставац селениј: Интеграција Јава Селениум ВебДривер краставца
- 30+ најбољих водича за селен: научите селен на стварним примерима
- Водич за селенску мрежу: Постављање и пример тестирања више прегледача
- Споцк за интеграцију и функционална испитивања са селеном
- Коришћење алата за аутоматизацију изградње Мавен и програма Мавен Пројецт Сетуп за селен - Водич за селен бр. 24
- Увод у Селениум ВебДривер - Водич за селен бр. 8
- Дубински водичи за помрачење за почетнике
- Водич за алат за тестирање приступачности ВАВЕ-а