what is hybrid framework selenium
Ten samouczek informacyjny wyjaśnia, czym jest platforma hybrydowa, zastosowania i składniki platformy opartej na hybrydowej konfiguracji Selenium oraz sposób jej implementacji:
Co to jest platforma hybrydowa?
Struktura oparta na hybrydach to połączenie struktury opartej na danych i opartej na słowach kluczowych.
Tutaj słowa kluczowe, a także dane testowe, podlegają eksternalizacji. Słowa kluczowe są przechowywane w oddzielnym pliku klasy Java, a dane testowe mogą być przechowywane w pliku właściwości / pliku programu Excel / mogą korzystać z dostawcy danych struktury TestNG.
=> Sprawdź tutaj, aby zobaczyć samouczki szkoleniowe A-Z Selenium tutaj.
Czego się nauczysz:
jak przeglądać pliki swf na komputerze
Wprowadzenie do struktury hybrydowej
Oto samouczek wideo:
W większości jest to framework Hybrid Drivenużywane przez testerów manualnych, którzy ich nie mająduża znajomość języków programowania. Takie osoby mogą po prostu rzucić okiem na słowa kluczowe, dane testowe, repozytorium obiektów i od razu rozpocząć tworzenie przypadku testowego, bez konieczności kodowania czegokolwiek w frameworku.
Komponenty platformy opartej na hybrydach
Składniki Hybrid Framework są podobne do składników Keyword Driven Frameworkgdzie wszystkie dane testowe, jak również słowa kluczowe, podlegają eksternalizacji, dzięki czemu skrypt pojawia się w bardziej uogólnionej formie
- Biblioteka funkcji
- Arkusz Excel do przechowywania słów kluczowych
- Zaprojektuj szablon przypadku testowego
- Repozytorium obiektów dla elementów / lokalizatorów
- Skrypty testowe lub skrypt sterownika
# 1) Biblioteka funkcji
Metody zdefiniowane przez użytkownika są tworzone dla każdego działania użytkownika. Innymi słowy, słowa kluczowe są tworzone w pliku biblioteki.
Na przykład: Weźmy przykład, aby zautomatyzować poniższe przypadki testowe.
Nr przypadku testowego | Opis | Kroki testowe | Spodziewany wynik | ||
---|---|---|---|---|---|
AssertElement | xpath | // div (zawiera (@ id, 'usericon')) | Wystawiany | ||
1 | Zweryfikuj obecność logo Amazon | 1. Wprowadź adres URL - https://www.amazon.com | Logo Amazon powinno być wyświetlane na stronie głównej | ||
dwa | Sprawdź poprawność logowania | 1. Wprowadź adres URL - https://www.amazon.com 2. Kliknij łącze „Zaloguj się” 3. Wpisz prawidłowy adres e-mail 4. Kliknij Kontynuuj 5. Wprowadź prawidłowe hasło 6. Kliknij przycisk SignInButton | Ikona użytkownika powinna być obecna na stronie głównej | ||
3 | Nieprawidłowy login | 1. Wprowadź adres URL - https://www.amazon.com 2. Kliknij łącze „Zaloguj się” 3. Wprowadź nieprawidłowy adres e-mail 4. Kliknij Kontynuuj | Ten komunikat o błędzie powinien zawierać komunikat „nie można znaleźć konta” |
Najpierw analizowane są przypadki testowe i ich etapy testowe, a ich działania zapisywane.
Powiedz, w TC 01: Sprawdź, czy obecne jest logo Amazon - działania użytkownika będą następujące: Wprowadź adres URL
W TC 02: Sprawdź poprawność logowania - akcje użytkownika to Wprowadź adres URL, kliknij, wpisz
W TC03: Weryfikuj nieprawidłowe logowanie - akcje użytkownika to Wprowadź adres URL, kliknij, wpisz
Teraz plik biblioteki zostanie utworzony ze słowami kluczowymi zdefiniowanymi dla każdej akcji, jak poniżej:
konwerter youtube na mp4 online za darmo bez pobierania
Keywords.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) Arkusz Excel do przechowywania słów kluczowych
Słowa kluczowe utworzone w pliku biblioteki są przechowywane w arkuszu programu Excel z opisem dla każdego, kto używa tej struktury do zrozumienia.
# 3) Zaprojektuj szablon przypadku testowego
Dla platformy tworzony jest szablon przypadku testowego. Nie ma określonego szablonu do naśladowania. Zgodnie z Hybrid Framework, zarówno dane testowe, jak i słowa kluczowe powinny być udostępniane na zewnątrz. Tak więc szablon jest odpowiednio tworzony. Na przykład:
Dla przypadku testowego 2 - Sprawdź poprawność logowania
Kroki testowe | Typ lokalizatora | Wartość lokalizatora | Dane testowe | AssertionType | Wartość oczekiwana |
---|---|---|---|---|---|
Wprowadź URL | https://www.amazon.com | ||||
Kliknij | xpath | // div (zawiera (@ id, 'SignIn')) | |||
Wpisz | xpath | // div (zawiera (@ id, 'email')) | test@gmail.com | ||
Kliknij | xpath | // div (zawiera (@ id, 'dalej')) | |||
Wpisz | ID | hasło | Hasło @ 123 | ||
Kliknij | ID | Zaloguj się |
Podobnie kroki testowe są wypełniane dla każdego przypadku testowego w osobnym arkuszu.
# 4) Repozytorium obiektów dla elementów
Dla wszystkich elementów strony internetowej utrzymywane jest osobne repozytorium. Każdy element WebElement jest powiązany z nazwą, po której następuje wartość w repozytorium obiektów (w tym przypadku jest to plik właściwości). Szablon przypadku testowego będzie zawierał nazwę obiektu, a jego wartość zostanie pobrana z repozytorium, jak poniżej:
Tutaj LoginLink to nazwa obiektu, a jego wartość jest odczytywana z OR.properties jako „// div (zawiera (@id,„ SignIn ”))
W związku z tym kod odczytujący wartość z ObjectRepository zostanie zawarty w skrypcie Keywords.java
Na przykład Plik biblioteki: rozważ działanie „kliknij” w pliku 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; } }
Repozytorium obiektów dla danych testowych w przypadkach testowych
Pozwólcie, że pokażę wam prosty przykład tego, jak wszystkie dane testowe zawarte w skrypcie są eksternalizowane, mając bardziej uogólnione ramy.
- Eksternalizacja danych testowych z szablonu przypadku testowego:
Podobnie dane testowe są również odczytywane z pliku właściwości.
- Repozytorium obiektów dla danych testowych w ogólnym skrypcie
Inne ogólne dane, takie jak nazwa przeglądarki, lokalizacja sterownika wykonywalnego, nazwa pliku przypadku testowego itp., Również mogą być udostępniane na zewnątrz w oddzielnym repozytorium.
W powyższym przykładzie parametr przeglądarki jest udostępniany w pliku właściwości - Basic.properties.
- Przekazywanie danych testowych z TestNG Suite:
Dane TestData można również przekazać z pliku zestawu TestNG do metody.
Używamy tagu o nazwie w pliku TestNG.xml tuż nad klasą, w której jest używany.
Składnia:
Po określeniu zestawu testów za pomocą nazwy parametru i jego wartości, w skrypcie używane są adnotacje w celu określenia, która metoda używa tej wartości. Jest to określone za pomocą adnotacji @Parameters.
Składnia: @Parameters ({“value_to_be_passed”})
Wiele parametrów można również przekazać do metody jako:
Składnia:
@Parameters({“Chrome”}, {“ TestCase.xls”}, {“ chromedriver.exe”}) public void init(String Browser, String SheetName, String DriverLocation){ ….. …… ………. }
Zauważ, że nie odnosi się to do wielu wartości tego samego parametru, przyjmuje tylko wiele wartości różnych parametrów.
# 5) Skrypt sterownika
Zawiera główną logikę do odczytywania wszystkich przypadków testowych z arkusza Excela szablonu przypadków testowych i wykonuje odpowiednią akcję, odczytując z pliku biblioteki. Skrypt został zaprojektowany w oparciu o utworzony szablon przypadku testowego.
darmowa kopiarka DVD dla systemu Windows 10
Wniosek
W ten sposób można stworzyć Hybrydową Strukturę i wykorzystać ją do automatyzacji dowolnej aplikacji. To z kolei zmniejszy liczbę roboczogodzin poświęconych na pisanie skryptów kodu automatyzacji, ponieważ raz utworzona struktura może służyć do automatyzacji wielu aplikacji.
Podobnie frameworki można tworzyć zgodnie z potrzebami projektu i wykorzystywać do celów automatyzacji.
Mamy nadzieję, że spodobała Ci się seria samouczków informacyjnych na temat Selenium!
=> Sprawdź WSZYSTKIE samouczki dotyczące Selenium tutaj.
rekomendowane lektury
- Data Driven Framework w Selenium WebDriver przy użyciu Apache POI
- Tworzenie Selenium Framework i dostęp do danych testowych z Excela - Samouczek Selenium # 21
- Wprowadzenie do JUnit Framework i jego wykorzystanie w skrypcie Selenium - Samouczek Selenium # 11
- Jak używać platformy TestNG do tworzenia skryptów selenium - Samouczek TestNG Selenium nr 12
- Testowanie oparte na danych lub parametryzowane za pomocą Spock Framework
- Cucumber Selenium Tutorial: Cucumber Java Selenium Integracja WebDriver
- Wprowadzenie do Selenium WebDriver - samouczek Selenium # 8
- Jak czytać lub zapisywać dane z arkusza Excela w sterowniku sieciowym Selenium