spécifications et un fichier de configuration.http://juliemr.github.io/protractor-demo/. describe et it est issue du framework Jasmine.
browser est un fichier global créé par Protractor, utilisé pour les commandes de niveau navigateur telles que la navigation avec browser.get.
conf.js:Protractor où se trouvent vos fichiers de test (specs) et où parler avec votre serveur Selenium (seleniumAddress).
Il spécifie que nous utiliserons Jasmine pour la structure de test.
Il utilisera les valeurs par défaut pour toutes les autres configurations.
Chrome est le navigateur par défaut.
Maintenant, lancez le test avec :
spec.js comme suit :element et by, qui sont également créés par Protractor.
La fonction element est utilisée pour rechercher des éléments HTML sur votre page Web.
Elle retourne un objet ElementFinder, qui peut être utilisé pour interagir avec l'élément ou en obtenir des informations.
Dans ce test, nous utilisons sendKeys pour taper dans
‹input/›, click clique sur un bouton et getText il renvoie le contenu d'un élément.element prend un paramètre, un localisateur, qui décrit comment rechercher l'élément.
L'objet by crée des localisateurs.
Ici, nous utilisons trois types de localisateurs :by.model('first') trouver l'élément avec ng-model="first".
Si vous inspectez la source de la page de la calculatrice, vous verrez que c'est ‹input type="text" ng-model="first"/›.
by.id('gobutton') pour trouver l'élément avec l'id donné. Cela trouve ‹button id="gobutton"›.
by.binding('latest') pour trouver l'élément lié à la variable latest. Ceci trouve la durée contenant {{latest}}
spec.js comme suit :beforeEach qui est exécutée avant chaque bloc it.
Nous avons également stocké les ElementFinders pour les première et deuxième entrées dans des variables agréables pouvant être réutilisées.
Remplissez le deuxième test à l'aide de ces variables, puis relancez les tests pour vous assurer de leur réussite.firstNumber.getAttribute('value') et nous la comparons à la valeur définie précédemment.conf.js comme suit :Firefox au lieu de Chrome.
L'objet capabilities décrit le navigateur à tester.
Pour une liste complète des options, voir le fichier de configuration.conf.js par :Chrome et Firefox,
et les résultats consignés séparément sur la ligne de commande.element.all, ce qui retourne un ElementArrayFinder.
Dans notre application de calculatrice, chaque opération est enregistrée dans l'historique, qui est implémenté sur le site sous forme de tableau ng-repeat.
Faisons quelques opérations, puis testons qu'elles sont dans l'historique.spec.js par :add.
Nous avons ajouté la variable history.
Nous utilisons element.all avec le by.repeater localisateur pour obtenir un ElementArrayFinder.
Dans nos spécifications, nous affirmons que l'historique a la longueur attendue à l'aide de la méthode count.
Corrigez le test pour que la seconde attente soit satisfaite.ElementArrayFinder a de nombreuses méthodes en plus de count.
Utilisons-nous last pour obtenir un ElementFinder qui correspond au dernier élément trouvé par le localisateur.toContain matriciel Jasmine pour affirmer que le texte de l'élément contient "1 + 2".
Le texte complet de l'élément contiendra également l'horodatage et le résultat.ElementArrayFinder a également des méthodes each, map, filter et reduce qui sont analogues aux JavaScript méthodes Array.