what is hybrid framework selenium
Този информативен урок обяснява какво е хибридна рамка, употреби и компоненти на Selenium Hybrid Driven Framework и как да я приложим:
Какво е хибридна рамка?
Hybrid Driven Framework е комбинация както от Data-Driven, така и от ключова дума.
Тук ключовите думи, както и тестовите данни, се екстернализират. Ключовите думи се поддържат в отделен файл на Java клас и данните от теста могат да се поддържат или във файл със свойства / файл Excel / могат да използват доставчика на данни на рамка TestNG.
=> Проверете тук, за да видите A-Z на уроци за обучение по селен тук.
Какво ще научите:
програма за копиране на DVD на компютър
Въведение в хибридната рамка
Ето видеоурок:
Хибридно управлявана рамка е предимноизползва се от ръчни тестери, които няматмного познания по езици за програмиране. Такива хора могат просто да разгледат ключовите думи, тестовите данни, хранилището на обекти и да започнат да създават тестовия случай веднага, без да се налага да кодират нищо в рамката.
Компоненти на хибридно задвижвана рамка
Компонентите на хибридната рамка са подобни на компонентите на рамката, управлявана от ключови думипри което всички тестови данни, както и ключовите думи, са екстернализирани, което прави скрипта да се появява в по-обобщена форма
- Библиотека с функции
- Excel Sheet за съхранение на ключови думи
- Шаблон за тестване на дизайн
- Хранилище на обекти за елементи / локатори
- Тестови скриптове или драйверен скрипт
# 1) Библиотека с функции
Потребителски дефинирани методи се създават за всяко потребителско действие. С други думи, ключовите думи се създават в библиотечния файл.
Например: Нека вземем пример за автоматизиране на следните тестови случаи.
Тестово дело № | Описание | Тестови стъпки | очакван резултат | ||
---|---|---|---|---|---|
AssertElement | xpath | // div (съдържа (@ id, 'usericon')) | Показва | ||
един | Проверете наличното лого на Amazon | 1. Въведете URL - https://www.amazon.com | Логото на Amazon трябва да се показва в началната страница | ||
две | Проверете валиден вход | 1. Въведете URL - https://www.amazon.com 2. Кликнете върху връзката „Вход“ 3. Въведете валиден имейл 4. Щракнете върху продължи 5. Въведете валидна парола 6. Кликнете върху SignInButton | Иконата на потребителя трябва да присъства на началната страница | ||
3 | Невалидно вписване | 1. Въведете URL - https://www.amazon.com 2. Кликнете върху връзката „Вход“ 3. Въведете невалиден имейл 4. Щракнете върху продължи | Това съобщение за грешка трябва да съдържа „не мога да намеря акаунт“ |
Първо се анализират тестовите случаи и тестовите стъпки и се отбелязват действията му.
Кажи, в TC 01: Проверете присъствието на логото на Amazon - потребителските действия ще бъдат: Въведете URL
В TC 02: Проверете валиден вход - потребителските действия са Enter URL, Click, TypeIn
В TC03: Проверете невалидното влизане - потребителските действия са Enter URL, Click, TypeIn
Сега библиотечният файл ще бъде създаден с ключови думи, дефинирани за всяко действие, както е показано по-долу:
какво е добро изтегляне на mp3 за android
Ключови думи.java
package Keywords.Defined; import java.io.File; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; public class Keywords { String path = System.getProperty('user.dir'); WebDriver driver; // driver object is declared //method for entering URL – Keyword is ‘enter_URL’ public void enter_URL(WebDriver driver,String TestData) throws IOException { driver.get(TestData); } //method for typing action – Keyword is ‘type’ public void typeIn(WebDriver driver, String locatorValue, String locatorType, String testdata) { driver.findElement(this.getObject(ObjectName,locatorType)).sendKeys(testdata); } //method for click action – Keyword is ‘click’ public void click(WebDriver driver, String locatorValue, String locatorType) { driver.findElement(this.getObject(ObjectName,locatorType)).click(); } }
# 2) Лист на Excel за съхраняване на ключови думи
Ключовите думи, които са създадени в библиотечния файл, се съхраняват в Excel лист с описанието му за всеки, който използва тази рамка, за да разбере.
# 3) Шаблон за тестов дизайн
За рамката е създаден шаблон за Тестови случаи. Няма конкретен шаблон, който да следвате. Съгласно хибридната рамка, данните от теста и ключовите думи трябва да бъдат екстернализирани. И така, съответно се създава шаблон. Например:
За тестов случай 2 - Проверете валиден вход
Тестови стъпки | Тип локатор | Стойност на локатора | TestData | AssertionType | Очаквана стойност |
---|---|---|---|---|---|
въведете_URL | https://www.amazon.com | ||||
Щракнете | xpath | // div (съдържа (@ id, 'SignIn')) | |||
напишете в | xpath | // div (съдържа (@ id, 'имейл')) | test@gmail.com | ||
Щракнете | xpath | // div (съдържа (@ id, 'continue')) | |||
напишете в | документ за самоличност | парола | Парола @ 123 | ||
Щракнете | документ за самоличност | Впиши се |
По същия начин тестовите стъпки се попълват за всеки тест в отделен лист.
# 4) Хранилище на обекти за елементи
Поддържа се отделно хранилище за всички елементи на уеб страницата. Всеки WebElement се препраща с име, последвано от стойността му в хранилището на обекти (в този случай това е файл със свойства). Шаблонът на тестовия случай ще съдържа името на обекта и стойността му се взема от хранилището, както е показано по-долу:
Тук LoginLink е името на обекта и стойността му се чете от OR.properties като ‘// div (contains (@id,’ SignIn ’))
Съответно кодът за четене на стойността от ObjectRepository ще бъде включен в скрипта Keywords.java
Например Файл на библиотеката: помислете за действие „щракване“ в Keywords.java
public class Keywords { public void click(WebDriver driver, String ObjectName, String locatorType) throws IOException{ driver.findElement(this.getObject(ObjectName, locatorType)).click(); } By getObject(String ObjectName, String locatorType) throws IOException{ //Object Repository is opened File file = new File(path+'\Externals\Object Repository.properties'); FileInputStream fileInput = new FileInputStream(file); //Properties file is read Properties prop = new Properties(); //find by xpath if(locatorType.equalsIgnoreCase('XPATH')){ return By.xpath(prop.getProperty(ObjectName)); // ObjectName is read and its value is returned } //find by class else if(locatorType.equalsIgnoreCase('ID')){ return By.Id(prop.getProperty(ObjectName)); // ObjectName is read and its value is returned } //find by name else if(locatorType.equalsIgnoreCase('NAME')){ return By.name(prop.getProperty(ObjectName)); // ObjectName is read and its value is returned } return null; } }
Хранилище на обекти за тестови данни в тестови случаи
Позволете ми да ви покажа прост пример за това как всички тестови данни, включени в скрипта, се екстернализират, като рамката е по-обобщена.
- Екстернализиране на тестови данни от шаблон за тестови казуси:
По същия начин тестовите данни също се четат от файла със свойства.
- Хранилище на обекти за тестови данни в общ скрипт
Други общи данни като име на браузъра, местоположение на изпълним драйвер, име на файл с тестови случаи и т.н. също могат да бъдат екстернализирани в отделно хранилище.
В горния пример параметърът на браузъра се екстернализира във файл със свойства - Basic.properties.
- Предаване на тестови данни от TestNG Suite:
TestData също могат да бъдат предадени от пакетния файл на TestNG към метода.
Използваме таг, наречен във файла TestNG.xml точно над класа, където се използва.
Синтаксис:
най-добрият софтуер за клониране за Windows 7
След като пакетът за тестване е посочен с името на параметъра и неговата стойност, анотациите се използват в скрипта, за да се определи кой метод използва стойността. Това се посочва с помощта на анотацията @Parameters.
Синтаксис: @Parameters ({“value_to_be_passed”})
Множество параметри също могат да бъдат предадени на метод като:
Синтаксис :
@Parameters({“Chrome”}, {“ TestCase.xls”}, {“ chromedriver.exe”}) public void init(String Browser, String SheetName, String DriverLocation){ ….. …… ………. }
Обърнете внимание, че това не се отнася до множество стойности на един и същ параметър, а отнема само множество стойности на различни параметри.
# 5) Скрипт на драйвера
Това съдържа основната логика за четене на всички тестови случаи от шаблона на Excel за Excel и изпълнява съответното действие чрез четене от файла на библиотеката. Скриптът е проектиран въз основа на създадения шаблон за тест.
Заключение
По този начин може да се създаде и използва хибридна рамка за автоматизиране на всяко приложение. Това от своя страна ще намали човекочасовете, прекарани в създаването на скриптове на кода за автоматизация, тъй като веднъж създадена рамка може да се използва за автоматизиране на множество приложения.
По същия начин, рамки могат да бъдат създадени в съответствие с нуждите на проекта и използвани за автоматизация.
Надяваме се да ви е харесала поредицата от информативни уроци за Селен!
=> Проверете ВСИЧКИ уроци за селен тук.
Препоръчително четене
- Управлявана от данни рамка в Selenium WebDriver, използваща Apache POI
- Създаване на Framework Selenium и достъп до тестови данни от Excel - Урок № 21 за Selenium
- Въведение в JUnit Framework и нейното използване в Selenium Script - Селен Урок # 11
- Как да използвам TestNG Framework за създаване на селенови скриптове - TestNG Selenium Tutorial # 12
- Управлявано от данни или параметризирано тестване със Spock Framework
- Урок за краставици селен: Интеграция на краставица Java Selenium WebDriver
- Въведение в Selenium WebDriver - Урок № 8 за селен
- Как да четем или пишем данни от лист на Excel в уеб драйвер на Selenium