protractor testing tool
Qu'est-ce que le rapporteur?
Le rapporteur est un outil de test d'automatisation pour les tests d'applications Web; combinant des technologies puissantes telles que Jasmine, Selenium Webdriver, Node.js etc.
L'outil de test Protractor est un cadre de test de bout en bout axé sur le comportement conçu en gardant à l'esprit les applications Angular JS. Même si cela peut sembler que Protractor ne fonctionnera pas avec les applications JS non angulaires, il le fait.
Il fonctionne aussi bien avec les applications JS angulaires que non angulaires.
N'hésitez pas à explorer le toute la série de tutoriels AngularJS . Dans notre précédent tutoriel, la différence entre les versions angulaires a été expliqué en détail.
Ce que vous apprendrez:
- Rapporteur vs Selenium WebDriver
- Fonctionnalités
- Comment Protractor peut-il m'aider?
- Quel framework utiliser?
- Comment télécharger et configurer le rapporteur
- Prêt à créer votre premier cas de test?
- Comment exécuter vos cas de test?
- Quelques fonctionnalités plus intéressantes de Protractor
- Conclusion
- lecture recommandée
Rapporteur vs Selenium WebDriver
Ce qui différencie le rapporteur du traditionnel Selenium WebDriver ?
Prenez une minute pour répondre à ces questions:
- Est-il difficile de déterminer quand exactement la page Web est enfin chargée (tous les éléments asynchrones sont prêts et traités)?
- Êtes-vous fatigué d'ajouter des temps d'attente et de sommeil à votre code?
- Voulez-vous vous débarrasser de l'effort fastidieux de localisation des éléments angulaires?
- Frustré par la localisation d'éléments avec des identifiants changeants?
- Voulez-vous créer votre propre localisateur?
- Écrivez-vous du code long même pour les assertions les plus simples?
- Êtes-vous un passionné / fan de JavaScript?
Si vous avez répondu Oui à ces questions, Rapporteur peut aider.
C’est un wrapper construit sur Selenium Webdriver et fournit ainsi toutes les fonctionnalités de Selenium ainsi que de nombreux ajouts utiles. CA offre:
Fonctionnalités
CA offre:
1) WaitForAngular
optimiseur de système gratuit pour windows 7
De la documentation:
' Demandez à WebDriver d'attendre que Angular ait terminé le rendu et n'ait aucun appel $ http ou $ timeout en attente avant de continuer. Notez que Protractor applique automatiquement cette commande avant chaque action WebDriver. '
Cela signifie qu'il n'est pas nécessaire d'ajouter manuellement des attentes à votre script et Protractor attendra automatiquement le chargement des éléments Web et exécutera ensuite les étapes suivantes.
deux) Il a la capacité d'exporter une fonction globale élément , qui prend un localisateur et renverra un ElementFinder. Cet ElementFinder a un ensemble de méthodes d'action, telles que click (), getText (), sendKeys () etc. C'est le cœur de la façon d'interagir avec l'élément et d'en obtenir des informations.
Cette fonction globale permet de réduire la syntaxe de localisation des éléments. Jetez un œil à l'instruction suivante pour localiser l'élément dans Selenium WebDriver et Protractor:
Pilote Web Selenium :
driver.findElement(By.cssSelector('css selector'));
Rapporteur :
element(by.css('some-css'));
La syntaxe semble compacte, n'est-ce pas?
3) Certaines nouvelles stratégies et fonctions de localisation fournies pour aider à localiser les éléments angulaires sont: By.binding, By.repeater, By.textarea, By.model, WebElement.all, WebElement.evaluate , etc.
Comment Protractor peut-il m'aider?
Jetez un œil aux principales caractéristiques suivantes:
- Syntaxe simple pour écrire des cas de test
- La possibilité d'exécuter plusieurs navigateurs à la fois en utilisant Selenium Grid
- Localisateurs spécifiques angulaires
- Prise en charge du développement axé sur le comportement tel que Jasmine / Mocha
- Pas besoin d'ajouter de sommeil / d'attente
- Intégration prise en charge avec Jenkins / Browser Stack / Grunt etc.
- Débarrassez-vous du problème de synchronisation dans les sites Web Angular JS
- Prise en charge de plusieurs navigateurs (Firefox, Chrome, Safari, Internet Explorer)
- Possibilité d'exécuter les mêmes scripts dans les navigateurs mobiles également sans avoir besoin de changer le code
Quel framework utiliser?
Il prend en charge deux frameworks de test de développement piloté par le comportement (BDD) dès la sortie de la boîte:
- Jasmin: Jasmin est le cadre de test par défaut lorsque Protractor est installé. Nous utiliserons Jasmine dans cet article.
- Moka: Moka est un framework de test JavaScript qui s'exécute sur Node.js. Si vous souhaitez utiliser Mocha comme cadre de test, vous devrez le configurer avec votre rapporteur et vous devrez également utiliser l'interface de développement piloté par le comportement et les assertions Chai avec Chai comme promis (voir ce lien pour plus de détails ).
Comment télécharger et configurer le rapporteur
Comme il s'agit d'un programme node.js, vous devez installer node.js pour le faire fonctionner. Node.js peut être téléchargé à partir de cette URL en sélectionnant le système d'exploitation: Téléchargement de Node.js
Avec node.js, vous obtenez également Rapporteur au-dessus du niveau de la mer package, qui peut maintenant être utilisé pour installer Protractor.
Maintenant que node.js est installé sur votre machine, ouvrez l'invite de commande (cmd) et appuyez sur la commande ci-dessous pour l'installer globalement:
npm install -g protractor
'-g' est utilisé pour installer cet outil globalement. Supprimez-le si vous ne souhaitez pas l'installer globalement. Cette commande installe également l'API Protractor avec un serveur sélénium par défaut, ce qui signifie que vous n'avez pas nécessairement besoin de démarrer un serveur autonome.
Maintenant, nous devons installer le serveur sélénium et ChromeDriver. Utilisez la commande suivante (également fournie avec Protractor) dans cmd:
webdriver-manager update
C'est tout ce dont nous avons besoin pour commencer avec notre première écriture de cas de test en utilisant ce framework. Si vous le souhaitez, vous pouvez installer n'importe quel IDE / éditeur pour écrire votre code. Eclipse IDE est le plus populaire, mais il y a aussi quelques éditeurs plus sympas à considérer. Personnellement, je préfère l’éditeur «Atom» pour l’écriture de mon code Protractor.
Prêt à créer votre premier cas de test?
Il a besoin de 2 fichiers pour fonctionner:
- Fichier de configuration
- Fichier Spec.
Le Fichier de configuration est celui qui indique à Protractor où trouver les fichiers de test (spécifications) / quel navigateur choisir / quel framework utiliser (Jasmine / Mocha) / où parler à votre navigateur Selenium et à d'autres configurations. Si une configuration n'est pas définie dans les fichiers de configuration, elle utilisera les valeurs par défaut.
Le fichier Spec est celui dans lequel nous écrivons notre code de test réel. Tous nos flux / assertions fonctionnels de test seront dans ce fichier spécifique. Il peut y avoir plusieurs fichiers de spécifications en fonction du nombre de cas de test, mais un seul fichier de spécifications sera capable d'exécuter toute la suite de tests de plusieurs spécifications.
Exemple de CAS DE TEST:
Maintenant, nous allons écrire un cas de test simple où nous allons naviguer vers une URL et vérifier le titre de la page.
Voici les étapes:
- Créez un nouveau dossier pour votre suite de tests.
- Créez un nouveau fichier avec le nom ' js ». (N’importe quel nom fera l'affaire) Tous les fichiers de spécifications / configuration auront l’extension« .js ».
- Créez un nouveau fichier avec le nom spécifié comme ' js ».
//CheckTitleSpec.js describe('Protractor Demo', function() { it('to check the page title', function() { browser.ignoreSynchronization = true; browser.get('https://www.softwaretestinghelp.com/'); browser.driver.getTitle().then(function(pageTitle) { expect(pageTitle).toEqual('Software Testing Help - A Must Visit Software Testing Portal'); }); }); });
Maintenant, nous sommes tous prêts à commencer notre codage. Consultez le code ci-dessous du fichier ‘testCaseNameSpec.js’.
Voici à quoi ressemble le fichier de configuration:
// conf.js exports.config = { framework: 'jasmine', capabilities: { browserName: 'chrome', }, specs: ('simpleTestSpec.js') };
Maintenant, laissez casser ces 2 fichiers et voyez comment cela fonctionne.
#1) Spec.js
- Toutes les commandes au niveau du navigateur seront gérées par ' le navigateur ', Un global créé par Protractor.
- Comme nous suivons le cadre de Jasmine, « décris ' et ' il »Sont les syntaxes de Jasmine. Describe contiendra tout le flux de bout en bout de votre scénario de test, alors que 'il' peut contenir certaines étapes / scénarios de test, etc. Vous pouvez avoir plusieurs ' il 'Blocs dans votre programme si vous le souhaitez.
- browser.get est une simple syntaxe Selenium qui indique à Protractor d'accéder à une URL spécifique dans le navigateur.
- Comme le site Web que nous essayons d'accéder est un site Web non angulaire, nous définissons le ignoreSynchronisation tag à ' vrai ’Comme affiché à la ligne n ° 4. Si vous ne définissez pas cette balise comme vraie, votre test échouera avec l’erreur« Angular est introuvable sur la page ». La raison en est que Protractor s'attend à travailler avec des sites Web angulaires par défaut, et si nous utilisons Protractor pour valider le site Web non angulaire, nous devons le dire explicitement à Protractor. Cependant, si vous travaillez sur des sites Web angulaires, il n'est pas nécessaire d'utiliser cette déclaration car Protractor considérera par défaut la page Web comme angulaire.
- «Attendre» n’est rien d’autre que l’affirmation dans laquelle nous comparons le titre de la page Web à certaines données prédéfinies. Nous discuterons plus d'assertions en détail.
#deux) conf.js
- Comme indiqué précédemment, le fichier de configuration est celui qui indique à Protractor les détails de base. Comme indiqué dans le code, le framework est «Jasmine».
- Dans la section des capacités, les configurations du navigateur sont définies. Vous pouvez définir le nom du navigateur tel que Firefox / chrome, etc. Vous pouvez également définir le nombre maximal d'instances des navigateurs afin qu'à la fois, vous puissiez exécuter plusieurs cas de test sur différentes fenêtres de navigateur disponibles.
- Dans le ' spécifications ', Nous donnons le chemin du fichier de spécification, c'est-à-dire exactement où se trouve le fichier de spécification par rapport au fichier de configuration.
- Il existe également de nombreuses autres fonctionnalités intéressantes que vous pouvez attacher à votre fichier de configuration, telles que la fonction de reporting / onPrepare / le délai d'expiration du seuil, etc.
Comment exécuter vos cas de test?
Nous avons écrit le code et maintenant tout ce dont nous avons besoin est d'un petit coup de pouce pour que notre code s'exécute. Appuyez sur la commande suivante dans cmd pour exécuter votre programme:
protractor conf.js
Cette commande commencera à exécuter le serveur sélénium suivi de l'exécution de votre script de test. Vous pouvez afficher les journaux dans cmd lui-même ou si vous le souhaitez, les journaux peuvent également être capturés dans un fichier .txt (juste ajouter >> textFileName.txt après la commande ci-dessus et les journaux seront enregistrés dans le fichier texte situé dans le même répertoire que le fichier de configuration).
Une fenêtre chromée s'ouvrira, où LogicielTestingHelp.com le site Web doit être ouvert. La sortie serait «1 spécification, 0 échec» lorsque vous exécutez le code. Cela signifie que nous avons eu 1 bloc «it», qui s’est exécuté avec 0 échec.
Maintenant, considérez le fichier de spécifications ci-dessous où nous effectuons des actions sur une page Web construite sur AngularJS afin que vous puissiez voir le point de vue du rapporteur sur Selenium lorsqu'il s'agit de tester le site Web Angular:
comment ouvrir le fichier .swf
// spec.js describe('Code to interact with Angular JS elements', function() { it('should multiply two integers', function() { browser.get('http://juliemr.github.io/protractor-demo/'); element(by.model('first')).sendKeys(5); element(by.model('second')).sendKeys(5); element(by.model('operator')).click(); element(by.xpath('.//option(@value= 'MULTIPLICATION')')).click(); element(by.id('gobutton')).click(); expect(element(by.binding('latest')) .getText()).toEqual('10'); //Incorrect expectation expect(element(by.binding('latest')) .getText()).toEqual('25'); //Correct expectation }); });
Vous pouvez également utiliser le même conf.js pour exécuter cette spécification. Assurez-vous simplement de mettre à jour le nom du fichier de spécification.
Maintenant, dans ce fichier de spécifications, nous jouons avec un site Web JS angulaire afin que vous puissiez voir exactement de quoi Protractor est capable.
Si vous exécutez ce fichier comme nous l'avons fait précédemment, une page Web s'ouvrira avec 2 zones de texte, une liste déroulante, un bouton et quelques autres éléments Web. Comme vous l’avez peut-être déjà deviné, il s’agit d’une page de calculatrice. Nous donnons 2 entiers en entrée et effectuons une opération de multiplication.
Comme nous l'avons déjà mentionné, l'un des plus grands avantages de l'utilisation de cet outil est ses techniques uniques pour localiser les éléments angulaires. «By.model» est l'un de ces moyens de localiser des éléments. «.SendKeys ()» est la syntaxe habituelle de Selenium pour envoyer des valeurs dans des zones de texte et '.Cliquez sur()' permet de cliquer sur des boutons.
Comme discuté plus tôt, 'attendre' est une assertion, qui demande à Protractor de capturer le résultat de la multiplication des nombres et de le comparer avec «10» et «25» séquentiellement. Les mathématiques simples nous disent que la sortie doit être «25» et par conséquent, la première assertion échoue et la seconde passe.
En conséquence, vous obtiendrez « 1 spécification, 1 échec »Dans les journaux lorsque vous exécutez le code, ce qui est attendu.
Quelques fonctionnalités plus intéressantes de Protractor
# 1) Assertions et annotations
Les assertions sont une partie importante des scripts d'automatisation. Les annotations sont également très utiles pour marquer efficacement certaines méthodes d'une classe pour avoir une signification particulière.
Il fournit une variété d'assertions et d'annotations et en plus de cela, offre également la possibilité de créer vos propres assertions.
Prenons l'exemple ci-dessous:
describe('Code to understand assertions/annotations', function() { beforeEach(function() { browser.get('http://juliemr.github.io/protractor-demo/'); }); afterEach(function() { browser.get('https://www.madewithangular.com/#/'); }); var multiplyNumbers = function(a, b) { element(by.model('first')).sendKeys(a); element(by.model('second')).sendKeys(b); element(by.model('operator')).click(); element(by.id('gobutton')).click(); }; it('should multiply two integers', function() { multiplyNumbers(2, 2); expect(element.all(by.repeater('result in memory')).count()).toEqual(2); multiplyNumbers(3, 3); expect(element.all(by.repeater('result in memory')).count()).toEqual(2); }); });
Dans l'exemple ci-dessus, nous utilisons 2 annotations, «BeforeEach» et 'après chaque' . Ces annotations sont également disponibles dans TestNG (traditionnel Selenium). Ces annotations garantissent qu'un morceau de code particulier sera exécuté avant / après respectivement l'exécution du code restant.
Alors, voici comment se déroulera l'exécution du code,
- Le rapporteur atteindra l’intérieur du ‘ avant chaque 'Bloquer en premier et il frappera' http://juliemr.github.io/protractor-demo/ 'URL dans le navigateur.
- À présent, le flux se déplacera vers le bloc «it» et fonctionnera « multiplyNumbers » sera appelé qui, à son tour, effectuera les actions spécifiées en renvoyant le contrôle là où la fonction a été appelée.
- Enfin, l'assertion fera son travail. Désormais, si nous voulons aborder plusieurs éléments en même temps, vous pouvez utiliser 'element.all' une fonctionnalité de cet outil. Il identifiera tous les éléments disponibles avec le localisateur spécifié (by.repeater dans ce cas). C'est à vous de décider ce que vous souhaitez faire des éléments identifiés. Dans ce cas, nous comparons l'historique de calcul avec un nombre donné.
- Puisque, dans la première assertion, nous comparons le compte d’historique de calcul avec «2» même si nous n’avons effectué le calcul qu’une seule fois, l’assertion échouera. La deuxième assertion, cependant, passera comme après le deuxième calcul, le compte d’historique serait «2».
Il existe de nombreux autres types d'assertions disponibles. Certains d'entre eux sont donnés ci-dessous:
a) Récupérez le texte d'un élément Web et comparez-le à une certaine valeur:
element(by.locator('someLocator')).getText(text) .then(function() { expect(text).toEqual('someData'); expect(text).not.toEqual('someData'); expect(text).toContain('someOtherData'); });
b) Vérifiez si un élément Web est affiché sur la page ou non:
expect(browser.driver.findElement(by.locator(someLocator)) .isDisplayed()).toBe(true);
# 2) Gestion de plusieurs navigateurs / fenêtres / onglets
Il peut y avoir plusieurs cas lorsqu'il s'agit de gérer le navigateur. Certains de ces cas sont mis en évidence ci-dessous:
a) Un nouvel onglet s'ouvre en cliquant sur n'importe quel lien
Parfois, lorsque vous cliquez sur un lien, un nouvel onglet s'ouvre et le reste des actions doit avoir lieu dans la fenêtre nouvellement ouverte. Dans ce cas, lorsque vous écrivez le code au point où un nouvel onglet est ouvert, vous devez implémenter Window Handler de la manière suivante:
//Get all of the opened windows and store the count in handles browser.getAllWindowHandles().then(function(handles) { //Now switch the control to the newly opened window browser.switchTo().window(handles(1)).then(function() { //Write the code which needs to be executed in the new tab }); });
Obtenez d'abord un décompte de toutes les fenêtres disponibles, puis utilisez l'indexation pour basculer le contrôle entre les fenêtres. La fenêtre d'origine qui a initié la nouvelle fenêtre aura l'index 0, tandis que les fenêtres suivantes auront des index croissants.
b) Ouverture d'un tout nouveau navigateur avec une nouvelle session
Lorsque vous devez effectuer certaines actions sur un navigateur et que vous devez effectuer d'autres actions sur une session différente du navigateur, nous devons utiliser le forkNewDriverInstance . Dans ce cas, nous créons une nouvelle instance de navigateur avec un nouveau nom de navigateur de la manière suivante:
describe('Code to understand assertions/annotations', function() { //Create a new browser instance var newBrowser = browser.forkNewDriverInstance(); it('should should open multiple browsers instances', function() { //Opens a URL in the 1st browser instance browser.get('http://juliemr.github.io/protractor-demo/'); //Opens a URL in the 2nd browser instance newBrowser.get('https://www.madewithangular.com/#/'); newBrowser.driver.quit(); }); });
c) Exécution de votre scénario de test dans plusieurs navigateurs:
Exécuter votre scénario de test dans 2 navigateurs à la fois est quelque chose que le fichier de configuration peut faire pour vous. Ajoutez simplement le code ci-dessous dans votre fichier de configuration:
Dès que vous exécutez ce fichier de configuration, vous verrez des tests s'exécuter simultanément dans Firefox et Chrome et les journaux d'exécution seront affichés séparément dans l'invite de commande.
// conf.js exports.config = { framework: 'jasmine', specs: ('SomeSpec.js'), multiCapabilities: ({ browserName: 'firefox' }, { browserName: 'chrome' }) }
# 3) Utilisez des objets de page pour rendre votre cadre encore meilleur
Cet outil est bon en soi, mais il devient invincible lorsqu'il est combiné avec le modèle d'objet de page (POM). La plupart de ses lacunes (le cas échéant) sont surmontées avec le modèle d'objet de page. De plus, POM aide également à maintenir votre projet de manière plus structurée.
Si vous ne savez pas ce qu'est POM, pas de soucis. POM est un moyen de séparer votre cas de test sur la base des pages.
Prenons cet exemple:
Il existe un site Web d'achat. Votre scénario de test consiste à sélectionner un produit, à l'ajouter au panier, puis à l'acheter.
À présent, il existe deux façons de gérer votre code de script de test pour cela:
- Écrivez un cas de test simple avec tous les localisateurs sur la même page dans laquelle votre logique est écrite,
- Écrivez tout votre flux de cas de test, votre logique dans votre fichier de spécifications et séparez vos localisateurs et vos données de test dans différents fichiers. Chaque page Web aura un fichier de page .js équivalent. De cette façon, votre code sera structuré et s'il y a un autre cas de test qui nécessite le même localisateur, vous n'avez pas besoin de réécrire ces localisateurs, importez simplement ce fichier de localisateur et utilisez-le selon vos besoins.
La maintenance de vos cas de test peut être une vraie douleur. Si vous utilisez POM, votre code sera d'une manière beaucoup plus structurée.
angularjs questions et réponses d'entretien pour pdf expérimenté
Voici un exemple d'utilisation du modèle d'objet de page:
Voici le flux dans l'instantané ci-dessus:
- Il existe un cas de test qui achète un ordinateur portable. Le code du flux et de la logique se trouvera dans le fichier purchaseLaptopSpec.js.
- Toutes les pages rencontrées pour acheter l’ordinateur portable auront 1 fichier «.js» avec un titre approprié. Tous les éléments nécessaires à l'achat de l'ordinateur portable, leurs localisateurs seront à l'intérieur du fichier de page respectif.
- Les données requises pour ce scénario de test peuvent être enregistrées dans le dossier TestData au format «.json» ou au format Excel.
- Une fois que vous avez terminé avec les pages et les localisateurs, importez simplement ces fichiers dans votre fichier de spécifications pour utiliser les données de localisateur / test et vous êtes prêt avec votre cas de test.
# 4) Rapports
NPM (Node Package Manager) fournit divers packages de rapports, avec lesquels une capture d'écran de chaque étape de test peut être capturée et, une fois le test terminé, il générera un rapport HTML pour vous. Tout ce que vous avez à faire est d'installer ces packages en ouvrant une invite de commande et en appuyant sur les commandes ci-dessous:
npm install -g protractor-jasmine2-html-reporter
npm install protractor-jasmine2-screenshot-reporter --save-dev
Une fois ces packages installés, chaque fois que vous exécutez votre fichier de configuration, toutes les captures d'écran de vos cas de test seront enregistrées et un rapport HTML sera généré affichant le résultat réussite / échec du scénario de test.
# 5) Intégrez à d'autres outils puissants tels que Git / Jenkins / Browserstack / Grunt
Il existe plusieurs outils disponibles sur le marché pour vous aider à rendre vos cas de test encore meilleurs. Git / Jenkins / BrowserStack / Grunt sont quelques-uns de ces outils qui ajoutent une valeur significative à vos scripts de test Protractor normaux. Et la meilleure partie est que vous n’avez pas à toucher à votre fichier de spécifications pour intégrer votre rapporteur à l’un de ces outils. C'est votre fichier de configuration, qui prendra toutes ces choses pour vous.
Aller est un outil de contrôle de version très puissant. Il est toujours recommandé de conserver votre code dans Git si plusieurs développeurs sont impliqués.
Jenkins est un outil d'intégration continue avec lequel vous pouvez planifier vos cas de test et l'exécuter selon vos besoins. Les scripts Protractor peuvent également être configurés avec Jenkins. La meilleure utilisation de l'exécution de vos cas de test sur Jenkins est qu'elle est très rapide et que vous pouvez également exécuter plusieurs cas de test à la fois.
BrowserStack est un outil de test multi-navigateurs qui peut également être utilisé pour tester vos applications sur différents navigateurs. Il peut également être intégré à Protractor en ajoutant les informations d'identification browserStack dans votre fichier de configuration.
Sol est un exécuteur de tâches JavaScript. Il vous permet d'effectuer plusieurs tâches à votre place. Son incroyable est qu'il y a plus de 4000 tâches et vous pouvez créer encore plus de tâches selon vos besoins. Voici quelques-unes des tâches d'utilisation quotidienne importantes pour lesquelles nous pouvons utiliser Grunt:
- Dressez la liste de toutes les meilleures pratiques de codage et informez-en immédiatement chaque fois que vous enfreignez l'une de celles-ci.
- Pour créer plusieurs fichiers de spécifications au moment de l'exécution. Par exemple , s'il y a un cas de test que vous souhaitez exécuter plusieurs fois (allant de 1 à n'importe quel nombre). Cela peut sembler inutile à ce stade, mais pensez à exécuter le flux de paiement de tout site Web d'achat pour chaque pays disponible. Il serait fastidieux de créer plusieurs spécifications manuellement. Alors, laissez Grunt faire ça pour vous.
- La fonction de montre. Vous écrivez un cas de test et chaque fois que vous enregistrez votre code après y avoir apporté des modifications, vous voulez que votre cas de test s'exécute, Grunt l'a compris.
- Concaténation de plusieurs fichiers.
Essayez-le et vous allez l'adorer.
Conclusion
Vous pouvez faire fonctionner Selenium comme un rapporteur, mais pourquoi réinventer la roue? Si Google a déployé tant d'efforts pour que Protractor fonctionne comme un charme, utilisez-le au maximum. Au moins pour les sites Web AngularJS, cela vous facilitera la vie.
En outre, cet article ne concerne pas uniquement le rapporteur. Il existe un grand monde de Protractor et des centaines de packages disponibles sur le marché proposés par NPM pour ajouter plus de fonctionnalités à votre test en plus de scénarios de test simples. N'hésitez pas à utiliser ces packages et à le rendre encore meilleur.
A propos de l'auteur: Ceci est un message d'invité de Deshansh. Il travaille en tant qu'ingénieur de développement logiciel en test avec l'un des principaux multinationales. Il possède une vaste expérience de travail sur les tests d'automatisation du sélénium et du rapporteur.
Notre prochain tutoriel vous aidera à terminer avec succès toute interview AngularJS.
Tutoriel PREV | Tutoriel SUIVANT
lecture recommandée
- Meilleurs outils de test de logiciels 2021 (Outils d'automatisation des tests QA)
- Téléchargement de l'e-book 'Testing Primer'
- Test d'automatisation à l'aide de l'outil Cucumber et du sélénium - Tutoriel Selenium # 30
- Installer des applications et les préparer pour les tests Appium
- Test de charge à l'aide de LoadUI - Un outil de test de charge gratuit et open source
- Intégration de Selenium avec JMeter
- Test de charge avec les didacticiels HP LoadRunner
- Tutoriel sur l'outil de test d'accessibilité WAVE