implementation our first webdriver script selenium webdriver tutorial 10
В предишните два урока ви запознахме с основната архитектура и функции на WebDriver и инфраструктура, необходима за започване на работа с Selenium WebDriver . Ако приемем, че всички сте могли да сте настроили системата с всички необходими помощни програми и пакети, ще продължим напред с внедряването на първия тестов скрипт на WebDriver.
Следователно, движение напред с последващото Урок за селен WebDriver , щяхме да създаваме WebDriver скрипт. Също така бихме разсеяли светлината върху основното и често използваното Команди на WebDriver . Ние също бихме научили за локализиране на стратегии на елементи на потребителския интерфейс и включването им в тестовите скриптове. Също така бихме изучили подробно команди за получаване.
Какво ще научите:
- Създаване на скриптове
- Упътване за кода
- Изпълнение на теста
- Намиране на уеб елементи
- Видове локатори и техния синтаксис
- Заключение
- Препоръчително четене
Създаване на скриптове
За създаване на скриптове ще използваме проекта „Learning_Selenium“, създаден в предишния урок, и „gmail.com“ като тествано приложение (AUT).
Сценарий:
- Стартирайте браузъра и отворете „Gmail.com“.
- Проверете заглавието на страницата и отпечатайте резултата от проверката.
- Въведете потребителското име и паролата.
- Кликнете върху бутона Вход.
- Затворете уеб браузъра.
Етап 1: Създайте нов клас на Java, наречен „Gmail_Login“ в рамките на проекта „Learning_Selenium“.
Стъпка 2: Копирайте и поставете кода по-долу в класа „Gmail_Login.java“.
import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.firefox.FirefoxDriver; public class Gmail_Login { /** * @param args */ public static void main(String() args) { // objects and variables instantiation WebDriver driver = new FirefoxDriver(); String appUrl = 'https://accounts.google.com'; // launch the firefox browser and open the application url driver.get(appUrl); // maximize the browser window driver.manage().window().maximize(); // declare and initialize the variable to store the expected title of the webpage. String expectedTitle = ' Sign in - Google Accounts '; // fetch the title of the web page and save it into a string variable String actualTitle = driver.getTitle(); // compare the expected title of the page with the actual title of the page and print the result if (expectedTitle.equals(actualTitle)) { System.out.println('Verification Successful - The correct title is displayed on the web page.'); } else { System.out.println('Verification Failed - An incorrect title is displayed on the web page.'); } // enter a valid username in the email textbox WebElement username = driver.findElement(By.id('Email')); username.clear(); username.sendKeys('TestSelenium'); // enter a valid password in the password textbox WebElement password = driver.findElement(By.id('Passwd')); password.clear(); password.sendKeys('password123'); // click on the Sign in button WebElement SignInButton = driver.findElement(By.id('signIn')); SignInButton.click(); // close the web browser driver.close(); System.out.println('Test script executed successfully.'); // terminate the program System.exit(0); } }
Горният код е еквивалентен на текстовия сценарий, представен по-рано.
Упътване за кода
Декларации за внос:
import org.openqa.selenium.WebDriver; import org.openqa.selenium.firefox.FirefoxDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.By;
Преди действителния скрипт, трябва да импортираме горните пакети:
внос org.openqa.selenium.WebDriver - Препраща към интерфейса WebDriver, който е необходим за създаване на екземпляр на нов уеб браузър.
внос org.openqa.selenium.firefox.FirefoxDriver - Препраща към класа на FirefoxDriver, който е необходим, за да създаде екземпляр на специфичен драйвер за Firefox в екземпляра на браузъра, създаден чрез WebDriver интерфейс
внос org.openqa.selenium.WebElement - Препратки към класа WebElement, който е необходим за създаване на екземпляр на нов уеб елемент.
внос org.openqa.selenium.By - Препратки към клас By, за който се извиква тип локатор.
Тъй като и когато нашият проект ще расте, очевидно е и логично, че може да се наложи да въведем няколко други пакета за по-сложни и различни функционалности като манипулации на Excel, свързаност с база данни, регистриране, твърдения и т.н.
jar файлове, необходими за селен webdriver
Инстантиране на обект
Драйвер за WebDriver = нов FirefoxDriver ();
Създаваме референтна променлива за WebDriver интерфейс и я създаваме с помощта на клас FirefoxDriver. Ще бъде стартиран профил по подразбиране на Firefox, което означава, че с екземпляра на Firefox няма да се зареждат разширения и приставки и той работи в безопасен режим.
Стартиране на уеб браузъра
driver.get (appUrl);
ДА СЕ получи () метод се извиква на екземпляра WebDriver, за да стартира нов екземпляр на уеб браузър. Поредицата от символни низове, предадена като параметър в получи () метод пренасочва стартирания екземпляр на уеб браузъра към URL адреса на приложението.
Увеличете прозореца на браузъра
подниз (0,0)
driver.manage (). window (). maximize ();
The уголемяване () метод се използва за максимизиране на прозореца на браузъра скоро след пренасочването му към URL адреса на приложението.
Вземете заглавието на страницата
driver.getTitle ();
The getTitle () метод се използва за извличане на заглавието на текущата уеб страница. По този начин извлеченото заглавие може да бъде заредено в променлива на низ.
Сравнение между очакваните и действителните стойности:
if (expectedTitle.equals(actualTitle)) { System.out.println('Verification Successful - The correct title is displayed on the web page.'); } else { System.out.println('Verification Failed - An incorrect title is displayed on the web page.'); }
Горният код използва условни конструкции на Java конструкции за сравняване на действителната стойност и очакваната стойност. Въз основа на получения резултат ще бъде изпълнено изявлението за печат.
Инстанциране на WebElement
WebElement потребителско име = driver.findElement (By.id („Имейл“));
В горното изявление ние създаваме екземпляр на референцията WebElement с помощта на „Driver.findElement (By.id („ Email “))“. По този начин потребителското име може да се използва за препращане към текстовото поле на имейл на потребителския интерфейс всеки път, когато искаме да извършим някакво действие върху него.
Изчистване на командата
username.clear ();
Методът / командата clear () се използва за изчистване на стойността в текстовото поле, ако има такава. Той също така изчиства стойността на запазеното място по подразбиране.
команда sendKeys
username.sendKeys („TestSelenium“);
The sendKeys () метод / команда се използва за въвеждане / въвеждане на посочената стойност (в скобите) в текстовото поле. Забележете, че sendKeys () метод се извиква за обекта WebElement, който е създаден с помощта на свойството на елемент, съответстващо на елемента на потребителския интерфейс.
Горният блок с код въвежда низа „TestSelenium“ в текстовото поле на имейл в приложението Gmail.
sendKeys е една от най-популярните команди в скриптове WebDriver.
Щракнете върху Command
SignInButton.click ();
като sendKeys (), щракнете () е друга прекомерно използвана команда за взаимодействие с уеб елементите. Щракнете () команда / метод се използва за щракване върху уеб елемента, присъстващ на уеб страницата.
Горният блок с кодове кликва върху бутона „Вход“, присъстващ в приложението Gmail.
Бележки:
- За разлика от метода sendKeys (), методите click () никога не могат да бъдат параметризирани.
- Понякога щракването върху уеб елемент може да зареди изцяло нова страница. По този начин за поддържане на такива случаи, методът click () се кодира по начин, който изчаква, докато страницата се зареди.
Затворете уеб браузъра
driver.close ();
Затварянето () се използва за затваряне на текущия прозорец на браузъра.
Прекратете програмата Java
System.exit (0);
Методът Exit () прекратява принудително програмата Java. По този начин, не забравяйте да затворите всички екземпляри на браузъра, преди да прекратите програмата Java.
Изпълнение на теста
Тестовият скрипт или просто Java програмата могат да бъдат изпълнени по следните начини:
# 1. Под лентата с менюта на Eclipse има икона за изпълнение на тестовия скрипт. Вижте следната фигура.
Забележете, че ще бъде изпълнен само класът, който е избран.
# две. Щракнете с десния бутон навсякъде в класа в редактора, изберете опцията „Изпълни като“ и кликнете върху „Приложението Java“.
# 3. Друг пряк път за изпълнение на тестовия скрипт е - Натиснете ctrl + F11.
В края на цикъла на изпълнение, инструкцията за печат „Тестовият скрипт е изпълнен успешно.“ можете да намерите в конзолата.
Намиране на уеб елементи
Уеб елементите в WebDriver могат да бъдат разположени и проверени по същия начин, както направихме в предишните уроци на Selenium IDE. Selenium IDE и Firebug могат да се използват за проверка на уеб елемента в GUI. Препоръчително е да използвате Selenium IDE за намиране на уеб елементите. След като уеб елементът бъде успешно намерен, копирайте и поставете целевата стойност в кода на WebDriver. Видовете локатори и стратегиите за локализиране са почти еднакви, с изключение на синтаксиса и тяхното приложение.
В WebDriver уеб елементите се намират с помощта на динамичните търсачи (findElement (By.locatorType („стойност на локатора”))).
Примерен код:
driver.findElement (By.id („Имейл“));
създайте нов java проект в eclipse
Видове локатори и техния синтаксис
Тип локатор | Синтаксис | Описание |
---|---|---|
cssSelector | driver.findElement (By.cssSelector („CSS селектор“)) | Намерете по стойност на CSS селектора |
документ за самоличност | driver.findElement (By.id („ID_of_Element“)) | Намерете по стойност на атрибутът „id“ |
className | driver.findElement (By.className („Class_of_Element“)) | Намерете по стойност на атрибутът „клас“ |
linkText | driver.findElement (By.linkText („Текст“)) | Намерете по стойност на текст на хипервръзката |
частиченLinkText | driver.findElement (By.partialLinkText („Частичен текст“)) | Намерете по стойност на подтекст на хипервръзката |
име | driver.findElement (По име („Име_на_Елемент“)) | Намерете по стойност на Атрибут „име“ |
xpath | driver.findElement (By.xpath („Xpath“)) | Намерете по стойност на xpath |
tagName | driver.findElement (By.tagName („вход“)) | Намерете по стойност на името на етикета му |
Заключение
В този урок разработихме скрипт за автоматизация, използвайки WebDriver и Java. Също така обсъдихме различните компоненти, които съставляват скрипт на WebDriver.
Ето основните съставки на този урок за Selenium WebDriver:
- Преди действителния скрипт, трябва да импортираме няколко пакета, за да можем да създадем скрипт на WebDriver.
- внос openqa.selenium.By;
- внос openqa.selenium.WebDriver;
- внос openqa.selenium.WebElement;
- внос openqa.selenium.firefox.FirefoxDriver;
- ДА СЕ получи () метод, използван за стартиране на нов екземпляр на уеб браузър. Последователността от символи, предадена като параметър в метода get (), пренасочва стартирания екземпляр на уеб браузъра към URL адреса на приложението.
- The уголемяване () метод се използва за максимизиране на прозореца на браузъра.
- The изчисти () метод се използва за изчистване на стойността в текстовото поле, ако има такава.
- The sendKeys () метод се използва за въвеждане на посочената стойност в текстовото поле.
- Щракнете () метод се използва за щракване върху уеб елемента, присъстващ на уеб страницата.
- В WebDriver уеб елементите могат да бъдат разположени с помощта на динамични търсачи.
- По-долу са наличните типове локатори:
- документ за самоличност
- className
- име
- xpath
- cssSelector
- linkText
- частиченLinkText
- tagName
Продължавайки напред, в следващия урок ще преместим фокуса си към рамка, която помага за тестване за автоматизация, известна като TestNG. Ще имаме подробно проучване на различните видове анотации, предоставени от рамката.
Следващ урок # 11 : Преди да се потопим дълбоко в Frameworks, ще видим подробности за JUnit - инструмент за тестване на модули с отворен код. Повечето програмисти използват JUnit, тъй като е лесен и не отнема много усилия за тестване. Този урок ще даде представа за JUnit и използването му в скрипта на селен.
Забележка за читателите: Докато следващият ни урок от поредицата Selenium е в режим на обработка, читателите могат да започнат да създават свои собствени основни скриптове на WebDriver. За повече авансови скриптове и концепции ще имаме различни други уроци за Selenium WebDriver, които се предлагат в тази серия.
Уведомете ни в коментари, ако имате някакъв проблем при създаването или изпълнението на скриптовете на WebDriver.
Препоръчително четене
- Въведение в Selenium WebDriver - Урок № 8 за селен
- Урок за краставици селен: Интеграция на краставица Java Selenium WebDriver
- Цялата настройка и инсталиране на WebDriver с Eclipse - Урок № 9 за селен
- Проверете видимостта на уеб елементите, като използвате различни типове команди WebDriver - Урок № 14 за селен
- Ефективни сценарии за скриптове и отстраняване на неизправности при селен - Урок №27 за селен
- Как да боравим със сигнали / изскачащи прозорци в Selenium WebDriver - Урок за селен # 16
- Отстраняване на грешки в скриптове за селен с регистрационни файлове (Урок за Log4j) - Урок за селен # 26
- Въведение в JUnit Framework и нейното използване в Selenium Script - Селен Урок # 11