what is hybrid framework selenium
Ce didacticiel informatif explique ce qu'est un framework hybride, les utilisations et les composants du framework Selenium Hybrid Driven et comment l'implémenter:
Qu'est-ce qu'un framework hybride?
Hybrid Driven Framework est une combinaison des deux framework Data-Driven et Keyword-Driven.
Ici, les mots-clés, ainsi que les données de test, sont externalisés. Les mots-clés sont conservés dans un fichier de classe Java séparé et les données de test peuvent être conservées dans un fichier de propriétés / fichier Excel / peuvent utiliser le fournisseur de données d'un framework TestNG.
=> Cliquez ici pour voir les didacticiels de formation A-Z of Selenium ici.
Ce que vous apprendrez:
quel casque vr fonctionne avec xbox one
Introduction au cadre hybride
Voici le didacticiel vidéo:
Le framework hybride est principalementutilisé par les testeurs manuels qui n'ont pasbeaucoup de connaissances des langages de programmation. Ces personnes peuvent simplement jeter un coup d'œil aux mots clés, aux données de test, au référentiel d'objets et commencer à créer le scénario de test immédiatement, sans avoir à coder quoi que ce soit dans le framework.
Composants du framework hybride
Les composants du framework hybride sont similaires aux composants du framework piloté par mots-clésdans lequel toutes les données de test, ainsi que les mots clés, sont externalisés, faisant apparaître le script sous une forme plus généralisée
- Bibliothèque de fonctions
- Feuille Excel pour stocker les mots-clés
- Modèle de cas de test de conception
- Référentiel d'objets pour les éléments / localisateurs
- Scripts de test ou script de pilote
# 1) Bibliothèque de fonctions
Des méthodes définies par l'utilisateur sont créées pour chaque action utilisateur. En d'autres termes, les mots clés sont créés dans le fichier de bibliothèque.
Par exemple: Prenons un exemple pour automatiser les cas de test ci-dessous.
Cas de test Non | Description | Étapes du test | résultat attendu | ||
---|---|---|---|---|---|
AssertElement | xpath | // div (contient (@ id, 'usericon')) | Affiché | ||
1 | Vérifier la présence du logo Amazon | 1. Entrez l'URL - https://www.amazon.com | Le logo Amazon doit être affiché sur la page d'accueil | ||
deux | Vérifier une connexion valide | 1. Entrez l'URL - https://www.amazon.com 2. Cliquez sur le lien 'Connexion' 3. Entrez une adresse e-mail valide 4. Cliquez sur continuer 5. Entrez un mot de passe valide 6. Cliquez sur SignInButton | L'icône de l'utilisateur doit être présente dans la page d'accueil | ||
3 | Identifiant invalide | 1. Entrez l'URL - https://www.amazon.com 2. Cliquez sur le lien 'Connexion' 3. Entrez une adresse e-mail non valide 4. Cliquez sur continuer | Ce message d'erreur doit contenir 'Impossible de trouver un compte' |
Tout d'abord, les cas de test et ses étapes de test sont analysés et ses actions sont notées.
Dis, en TC 01: Vérifiez la présence du logo Amazon - les actions de l'utilisateur seront: Entrez l'URL
Dans TC 02: Vérifier la connexion valide - les actions de l'utilisateur sont Entrer l'URL, Cliquer, Taper dans
Dans TC03: Vérifier la connexion non valide - les actions de l'utilisateur sont Entrer l'URL, Cliquer, Taper dans
Maintenant, le fichier de bibliothèque sera créé avec des mots clés définis pour chaque action comme ci-dessous:
meilleures applications d'écriture pour Windows 10
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) Feuille Excel pour stocker les mots-clés
Les mots clés créés dans le fichier de bibliothèque sont stockés dans une feuille Excel avec sa description pour quiconque utilise ce cadre pour comprendre.
# 3) Modèle de cas de test de conception
Un modèle de scénario de test est créé pour le cadre. Il n'y a pas de modèle spécifique à suivre. Conformément au cadre hybride, les données de test et les mots clés doivent être externalisés. Ainsi, un modèle est créé en conséquence. Par exemple:
Pour le cas de test 2 - Vérifier la connexion valide
Étapes du test | Type de localisateur | Valeur du localisateur | Données de test | AssertionType | Valeur attendue |
---|---|---|---|---|---|
entrer l'URL | https://www.amazon.com | ||||
Cliquez sur | xpath | // div (contient (@ id, 'SignIn')) | |||
tapez | xpath | // div (contient (@ id, 'email')) | test@gmail.com | ||
Cliquez sur | xpath | // div (contient (@ id, 'continue')) | |||
tapez | identifiant | le mot de passe | Mot de passe @ 123 | ||
Cliquez sur | identifiant | S'identifier |
De même, les étapes de test sont remplies pour chaque cas de test dans une feuille séparée.
# 4) Référentiel d'objets pour les éléments
Un référentiel distinct est conservé pour tous les éléments de la page Web. Chaque WebElement est référencé avec un nom suivi de sa valeur dans un référentiel d'objets (dans ce cas, il s'agit d'un fichier de propriétés). Le modèle de scénario de test contiendra le nom de l'objet et sa valeur est extraite du référentiel comme ci-dessous:
Ici, LoginLink est le nom de l’objet et sa valeur est lue à partir de OR.properties comme ‘// div (contains (@id,’ SignIn ’))
En conséquence, le code pour lire la valeur d'ObjectRepository sera inclus dans le script Keywords.java
Par exemple Fichier de bibliothèque: envisagez l'action 'cliquer' dans 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; } }
Référentiel d'objets pour les données de test dans les cas de test
Permettez-moi de vous montrer un exemple simple de la façon dont toutes les données de test impliquées dans le script sont externalisées, le cadre étant plus généralisé.
- Externalisation des données de test à partir du modèle de scénario de test:
De même, les données de test sont également lues à partir du fichier de propriétés.
- Référentiel d'objets pour les données de test dans un script général
D'autres données générales telles que le nom du navigateur, l'emplacement du pilote exécutable, le nom du fichier de scénario de test, etc. peuvent également être externalisées dans un référentiel séparé.
Dans l'exemple ci-dessus, le paramètre de navigateur est externalisé dans un fichier de propriétés - Basic.properties.
- Réussir les données de test depuis TestNG Suite:
TestData peut également être passé d'un fichier de suite de TestNG à la méthode.
Nous utilisons une balise appelée dans le fichier TestNG.xml juste au-dessus de la classe où elle est utilisée.
Syntaxe:
Une fois que la suite de tests est spécifiée avec le nom du paramètre et sa valeur, des annotations sont utilisées dans le script pour spécifier la méthode qui utilise la valeur. Ceci est spécifié à l'aide de l'annotation @Parameters.
logiciel gratuit de récupération de données windows 10
Syntaxe: @Parameters ({'value_to_be_passed'})
Plusieurs paramètres peuvent également être passés à une méthode comme:
Syntaxe:
@Parameters({“Chrome”}, {“ TestCase.xls”}, {“ chromedriver.exe”}) public void init(String Browser, String SheetName, String DriverLocation){ ….. …… ………. }
Notez que cela ne fait pas référence à plusieurs valeurs du même paramètre, il ne prend que plusieurs valeurs de paramètres différents.
# 5) Script de pilote
Celui-ci contient la logique principale pour lire tous les cas de test à partir de la feuille Excel du modèle de cas de test et exécute l'action correspondante en lisant le fichier de bibliothèque. Le script est conçu en fonction du modèle de scénario de test créé.
Conclusion
Ainsi, un Framework hybride peut être créé et utilisé pour automatiser n'importe quelle application. Ceci, à son tour, réduira les heures de travail consacrées à la création de scripts du code d'automatisation, puisqu'un framework une fois créé peut être utilisé pour automatiser plusieurs applications.
De même, les frameworks peuvent être créés en fonction des besoins du projet et utilisés à des fins d'automatisation.
Nous espérons que vous avez apprécié la série de tutoriels informatifs sur Selenium!
=> Consultez TOUS les tutoriels Selenium ici.
lecture recommandée
- Framework basé sur les données dans Selenium WebDriver à l'aide d'Apache POI
- Création du framework Selenium et accès aux données de test à partir d'Excel - Tutoriel Selenium # 21
- Introduction à JUnit Framework et à son utilisation dans Selenium Script - Tutoriel Selenium # 11
- Comment utiliser le framework TestNG pour créer des scripts Selenium - Tutoriel TestNG Selenium # 12
- Tests pilotés par les données ou paramétrés avec Spock Framework
- Tutoriel Cucumber Selenium: Intégration Cucumber Java Selenium WebDriver
- Introduction à Selenium WebDriver - Tutoriel Selenium # 8
- Comment lire ou écrire des données à partir d'une feuille Excel dans le pilote Web Selenium