Étape 2: Script de Test de base
Commençons par quelques notions de base.
Voici un script simple Moka qui va ouvrir un site web et vérifier le titre.
// tutorial1.js // // This is a simple test script to open a website and // validate title. // required libraries var webdriverio = require('webdriverio'), should = require('should'); // a test script block or suite describe('Title Test for Web Driver IO - Tutorial Test Page Website', function() { // set timeout to 10 seconds this.timeout(10000); var driver = {}; // hook to run before tests before( function (done) { // load the driver for browser driver = webdriverio.remote({ desiredCapabilities: {browserName: 'firefox'} }); driver.init(done); }); // a test spec - "specification" it('should be load correct page and title', function () { // load page, then call function() return driver .url('http://www.tlkeith.com/WebDriverIOTutorialTest.html') // get title, then pass title to function() .getTitle().then( function (title) { // verify title (title).should.be.equal("Web Driver IO - Tutorial Test Page"); // uncomment for console debug // console.log('Current Page Title: ' + title); }); }); // a "hook" to run after all tests in this block after(function(done) { driver.end(done); }); });
Observations :
- Tout d’abord, vous devriez remarquer que le script de test est écrit en JAVASCRIPT (se termine par extension .js).
- La structure de base est presque identique pour tous les scripts de test.
- Commentaires d’en-tête (/ /)
- Bibliothèques requises
- Options SET (facultatif)
- Crochet : Charger un pilote navigateur
- La Suite de tests (décrire)
- Spécifications de test (peut être bien fiche dans une Suite)
- Crochet : Nettoyer
- La suite de test commence par une fonction describe qui prend deux paramètres :
- Chaîne - Description de la suite de tests
- « Recherchez la page appropriée verbiage »
- « Vérifier les opérations des bouton radio »
- fonction - bloc de code à exécuter
- décrire (« Description de la suite de tests », function() {}) ;
- Chaîne - Description de la suite de tests
- La suite de tests qui contient 1 ou plusieurs spécifications de test (spécification)
- Fiche commence par il fonction qui prend deux paramètres :
- Chaîne - Description de la spécification de test
- « Il devrait être bon lien texte et l’URL du lien »
- "Doit contenir un verbiage correcte (pont de copie)
- fonction - bloc de code à exécuter
- Il (« Description de la spécification de test », function() {}) ;
- Chaîne - Description de la spécification de test
- Une spécification contient un ou plusieurs des attentes que tester l’état du code
- Elles sont appelées des assertions
- La bibliothèque « devrait » fournit les assertions
- Dans presque tous les cas, vous aurez besoin localiser un ou plusieurs éléments à l’aide d’un sélecteur puis effectuer une opération sur l’ou les éléments
- Exemples :
- Rechercher le texte sur une page et vérifier le texte
- Remplir un formulaire et soumettre
- Vérifier le CSS d’un élément
- Exemples :
Prenons regarder de plus près l’exemple avec commentaires.
Charger les bibliothèques requises : web pilote IO et devrait.
// required libraries var webdriverio = require('webdriverio'), should = require('should');
Définir la suite de tests. Cette suite, on l’appelle: « Titre Test pour Web Driver IO – tutoriel Test Page site Web »
// a test script block or suite describe('Title Test for Web Driver IO - Tutorial Test Page Website', function() { ... });
Définir le délai d’attente de 10 secondes afin que le script ne le délai d’attente lors du chargement de la page.
// set timeout to 10 seconds this.timeout(10000);
Crochet pour charger le pilote de navigateur avant d’exécuter le cahier des charges « specs ». Le pilote de Firefox est chargé dans cet exemple.
// hook to run before tests before( function (done) { // load the driver for browser driver = webdriverio.remote({ desiredCapabilities: {browserName: 'firefox'} }); driver.init(done); });
Définir les spécifications de test.
// a test spec - "specification" it('should be load correct page and title', function () { ... });
Chargez la page Web
.url('http://www.tlkeith.com/WebDriverIOTutorialTest.html')
Obtenir le titre, puis passer le titre à function()
.getTitle().then( function (title) { ... });
Vérifier le titre utilise le devrait la bibliothèque de l’assertion.
(title).should.be.equal("Web Driver IO - Tutorial Test Page");
Crochet à cesser de fumer et le nettoyage du pilote lorsque vous avez terminé.
// a "hook" to run after all tests in this block after(function(done) { driver.end(done); });