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:
Wprowadzenie do struktury hybrydowej
Oto samouczek wideo:
jak przeglądać pliki swf na komputerze
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 |
---|---|---|---|
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:
Keywords.java
konwerter youtube na mp4 online za darmo bez pobierania
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ę | |||
AssertElement | xpath | // div [zawiera (@ id, 'usericon')] | Wystawiany |
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.
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.
darmowa kopiarka DVD dla systemu Windows 10
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