cucumber selenium tutorial
Краставица Селен WebDriver Java интеграция с пример:
В последния урок обсъдихме инструментът Краставица , неговото използване и различни функции.
Продължаваме напред в нашата безплатна Онлайн обучение за селен серия, ще обсъдим как да създадете проект за краставици и ще обсъдите интеграцията на Selenium WebDriver с краставица.
Ще създадем проект за Краставица с Maven. За да настроите Maven във вашата система, моля вижте този урок за Maven от същата серия.
приложения за конвертиране на видеоклипове в YouTube в mp3
Какво ще научите:
- Настройка на проект за краставици
- Интеграция на краставици селен WebDriver
- Заключение:
- Препоръчително четене
Настройка на проект за краставици
Етап 1: Създайте нов проект на Maven:
Щракнете с десния бутон -> Ново -> Други -> Maven -> Maven Project -> Next
Стъпка 2: Сега проектът ще изглежда така:
Стъпка # 3 : Добавете долу зависимости в pom.xml
info.cukes cucumber-java 1.0.2 test info.cukes cucumber-junit 1.0.2 test junit junit 4.10 test
Стъпка # 4 : Създайте файл sample.feature под src / test / resources.
@smokeTest
Особеност : За да тествам моят тест за краставици работи
Искам да стартирам примерен файл с функции.
Сценарий : настройка на краставица
Дадено примерният файл с функции е готов
Кога Пускам файла с характеристиките
Тогава бягането трябва да е успешно
Стъпка # 5 : Създайте клас под src / test / java, който ще изпълни всички стъпки.
public class stepDefinition { @Given('^sample feature file is ready$') public void givenStatment(){ System.out.println('Given statement executed successfully'); } @When('^I run the feature file$') public void whenStatement(){ System.out.println('When statement execueted successfully'); } @Then('^run should be successful$') public void thenStatment(){ System.out.println('Then statement executed successfully'); } }
Стъпка # 6 : Създайте JUnit бегач, за да стартирате теста.
@RunWith(Cucumber.class) @Cucumber.Options(format={'pretty','html:reports/test-report'},tags= '@smokeTest') public class CucumberRunner { }
Посочете пътя на доклада, както е даден тук. Отчетите ще се съхраняват в папка ‘test-report’ в папката на проекта и форматът „pretty“ определя вида на отчета.
Стъпка # 7 : Резултат от теста на Junit и тест:
По-долу е докладът, когато тестът за краставици е успешен. Зелената лента в Junit описва преминатия тест. По същия начин червената лента описва, че тестът е неуспешен.
Ако искаме да използваме отчитане по подразбиране, тогава се придвижете по пътя, посочен в Junit Runner. В този случай сме дали път като отчети-> тест-отчети-> index.html.
Отворете този отчет в Internet Explorer или във Firefox, за да проверите резултата. По-долу е извадката от доклада:
Интеграция на краставици селен WebDriver
Рамката за краставици може да се използва за тестване на уеб-базирани приложения заедно с Selenium WebDriver. Тестовите случаи са написани в прости функционални файлове, които лесно се разбират от мениджъри, нетехнически заинтересовани страни и бизнес анализатори. И тези стъпки на файла с функции се изпълняват във файл с дефиниция на стъпки. Ако използвате maven, трябва да добавите зависимости за Cucumber и WebDriver.
И така, тук е примерният тестов случай, който сме внедрили с помощта на Cucumber и WebDriver. Както е дадено по-долу, сценарият във файла с функции е обяснителен.
Характеристика: Файл на функцията за вход
@selenium
Сценарий : Тест за сценарий на вход за Gmail
Дадено отворете страницата на Gmail
Кога потребителят е влязъл, използвайки потребителско име като „userA“ и парола като „парола“
Тогава трябва да се покаже началната страница
Внедряване на WebDriver в краставица Определения:
public class stepDefinition { WebDriver dr; @Given('^navigate to gmail page$') public void navigate(){ dr=new FirefoxDriver(); dr.get('http://www.gmail.com'); } @When ('^user logged in using username as '(.*)' and password as '(.*)'$') public void login(String username,String password){ dr.findElement(By.xpath('//*(@id='Email')')).sendKeys(username); dr.findElement(By.xpath('//*(@id='Passwd')')).sendKeys(password); dr.findElement(By.xpath('//*(@id='signIn')')).click(); dr.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS); } @Then('^home page should be displayed$') public void verifySuccessful(){ String expectedText='Gmail'; String actualText= dr.findElement(By.xpath('//*(@id='gbq1')/div/a/span')).getText(); Assert.assertTrue('Login not successful',expectedText.equals(actualText)); } }
В този тест използвахме Firefox като браузър за тестване на функционалността за вход в Gmail.
Ясно е, че обектът WebDriver е променлива на клас и се използва в целия клас.
Дадено израз инициализира браузъра и се придвижва до страницата.
Кога statement влиза в приложението, използвайки потребителското име като “userA” и паролата като “парола”. И двете стойности „потребителско име“ и „парола“ се предават от файла на характеристиките и двете стойности да се използват в същия ред.
Тогава Изявлението валидира условията само след влизане в приложението.
Това е примерен тест, описващ употребата на краставица и селен. Можете да създадете многослойна архитектура в зависимост от изискванията на вашия проект.
Заключение:
В този урок за интеграция на Cucumber Selenium Java сме разгледали повечето концепции за Cucumber, които включват функции на Cucumber и използването им заедно с WebDriver.
Това намалява сложността на кода, който е написан за проектиране на традиционните рамки като Driven Keyword Driven и Hybrid Framework. Краставицата се използва в по-голямата част от проекта, където хората следват гъвкава методология, тъй като Behavior Driven Development е Agile софтуерна практика.
Следващ урок # 32 : Вече завършихме всички технически уроци от тази серия за обучение на Selenium. След това ще публикуваме няколко важни общи теми като „Оценка на усилията за проекти на Selenium“ и „въпроси за интервю за Selenium с отговори“.
Моля, публикувайте вашите въпроси относно урока за селен от краставици.
Препоръчително четене
- Въведение в Selenium WebDriver - Урок № 8 за селен
- Автоматизирано тестване с помощта на инструмент за краставици и селен - Урок № 30
- Интеграция на селен с JMeter
- Интеграция на Jenkins с Selenium WebDriver: Урок стъпка по стъпка
- Внедряване на нашия първи скрипт за WebDriver - Урок № 10 за Selenium WebDriver
- Как да боравим със сигнали / изскачащи прозорци в Selenium WebDriver - Урок за селен # 16
- Цялата настройка и инсталиране на WebDriver с Eclipse - Урок № 9 за селен
- Spock за интеграция и функционални тестове със селен