what is hybrid framework selenium
Цей інформаційний посібник пояснює, що таке гібридна структура, використання та компоненти селенової гібридної системи та як її впровадити:
Що таке гібридна структура?
Hybrid Driven Framework - це поєднання як даних, так і ключових слів.
Тут ключові слова, як і тестові дані, екстерналізовані. Ключові слова зберігаються в окремому файлі класу Java, а тестові дані можуть зберігатися або у файлі властивостей / файлі excel / можна використовувати постачальника даних рамки TestNG.
=> Перегляньте тут, щоб побачити A-Z навчальних посібників із селену тут.
Що ви дізнаєтесь:
запитання та відповіді на співбесіду soapui док
Вступ до гібридної структури
Ось відеоурок:
Гібридно керований фреймворк - це переважновикористовується ручними тестерами, яких немаєбагато знань мов програмування. Такі люди можуть просто поглянути на ключові слова, дані тесту, сховище об’єктів і почати створювати тестовий кейс відразу, не потребуючи кодування в рамках.
Компоненти гібридної керованої системи
Компоненти Hybrid Framework подібні до компонентів Framework Driven Frameworkде всі тестові дані, як і ключові слова, екстерналізовані, що робить скрипт більш загальним
- Бібліотека функцій
- Таблиця Excel для зберігання ключових слів
- Шаблон тестування дизайну
- Сховище об’єктів для елементів / локаторів
- Тестові скрипти або сценарій драйвера
# 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
Тепер файл бібліотеки буде створений із ключовими словами, визначеними для кожної дії, як показано нижче:
який інструмент можна використовувати для візуального представлення та аналізу бази даних?
Ключові слова.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) Шаблон тестового кейсу для дизайну
Для фреймворку створено шаблон Test Case. Немає конкретного шаблону для дотримання. Відповідно до Гібридної основи, дані тесту та Ключові слова повинні бути екстерналізовані. Отже, відповідно створюється шаблон. Наприклад:
Для тестового випадку 2 - Перевірте дійсний вхід
Тестові кроки | Тип локатора | Значення локатора | Тестові дані | AssertionType | Очікуване значення |
---|---|---|---|---|---|
введіть_URL | https://www.amazon.com | ||||
Клацніть | xpath | // div (містить (@ id, 'SignIn')) | |||
введіть | xpath | // div (містить (@ id, 'електронна пошта')) | test@gmail.com | ||
Клацніть | xpath | // div (містить (@ id, 'продовжити')) | |||
введіть | ідентифікатор | пароль | Пароль @ 123 | ||
Клацніть | ідентифікатор | Увійти |
Аналогічно, кроки тестування заповнюються для кожного тесту на окремому аркуші.
# 4) Сховище об’єктів для елементів
Для всіх елементів веб-сторінки ведеться окреме сховище. Кожен WebElement посилається з іменем, за яким слідує його значення у сховищі об’єктів (у цьому випадку це файл властивостей). Шаблон Test Case міститиме ім’я об’єкта, а його значення береться із сховища, як показано нижче:
Тут LoginLink - це ім’я об’єкта, і його значення зчитується з OR.properties як ‘// div (містить (@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 безпосередньо над класом, де він використовується.
Синтаксис:
Після того, як набір тестування вказано з назвою параметра та його значенням, у сценарії використовуються анотації, щоб вказати, який метод використовує значення. Це визначається за допомогою анотації @Parameters.
Синтаксис: @Parameters ({“value_to_be_passed”})
аніме веб-сайти дивитись аніме безкоштовно
Кілька параметрів також можуть бути передані методу як:
Синтаксис:
@Parameters({“Chrome”}, {“ TestCase.xls”}, {“ chromedriver.exe”}) public void init(String Browser, String SheetName, String DriverLocation){ ….. …… ………. }
Зауважте, що це не стосується кількох значень одного і того ж параметра, він приймає лише кілька значень різних параметрів.
# 5) Сценарій драйвера
Він містить основну логіку для зчитування всіх тестових випадків із шаблону тесту Excel, а також виконує відповідні дії, читаючи з файлу бібліотеки. Сценарій розроблений на основі створеного шаблону тесту.
Висновок
Таким чином, гібридну структуру можна створити та використовувати для автоматизації будь-яких додатків. Це, в свою чергу, зменшить людські години, витрачені на створення сценаріїв коду автоматизації, оскільки створений фреймворк можна використовувати для автоматизації декількох додатків.
Подібним чином, фреймворки можуть створюватися відповідно до потреб проекту та використовуватися для цілей автоматизації.
Ми сподіваємось, вам сподобалась серія інформативних посібників з селену!
=> Перевірте ВСІ підручники з селену тут.
Рекомендована література
- Data Driven Framework у Selenium WebDriver з використанням Apache POI
- Створення Framework селену та доступ до тестових даних з Excel - Підручник селену №21
- Вступ до JUnit Framework та його використання в сценарії селену - Підручник з селену No11
- Як використовувати TestNG Framework для створення сценаріїв селену - Підручник No12 для TestNG
- Тестування на основі даних або параметризоване за допомогою Spock Framework
- Підручник з огірка селену: інтеграція огірка Java Selenium WebDriver
- Вступ до Selenium WebDriver - Підручник з селену №8
- Як читати або записувати дані з аркуша Excel у веб-драйвері Selenium