Paso 2: Script de prueba básicas
Vamos a empezar con algunos conceptos básicos.
Aquí está un script simple mocha que abrirá un sitio web y verificar el título.
// 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); }); });
Observaciones:
- Primero observará que el script de prueba está escrito en JAVASCRIPT (extremos en la extensión .js).
- La estructura básica es casi idéntica para todos los scripts de prueba.
- Comentarios de cabecera (/ /)
- Bibliotecas requeridas
- Establecer opciones (opcional)
- Gancho: Carga navegador Driver
- Suite de prueba (describir)
- Especificaciones de la prueba (puede ser muchas especificaciones en una Suite)
- Gancho: Limpiar
- La suite de prueba comienza con una función de describir que toma dos parámetros:
- Cadena - Descripción del paquete de pruebas
- "Página de verborrea adecuada"
- "Verificar las operaciones de botón de radio"
- función de bloque de código a ejecutar-
- describir («Descripción de suite de prueba», function() {});
- Cadena - Descripción del paquete de pruebas
- La suite de prueba contiene 1 o más especificaciones de prueba (especificaciones)
- Especificaciones comienzan con él la función que toma dos parámetros:
- Cadena - Descripción de la especificación de prueba
- "Debe ser el correcto enlace de texto y URL de enlace"
- "Debe contener correcta verborrea (cubierta de copia)
- función de bloque de código a ejecutar-
- él ('Descripción de la especificación de prueba', function() {});
- Cadena - Descripción de la especificación de prueba
- Una especificación contiene uno o más de las expectativas que prueba el estado del código
- Estas son las llamadas afirmaciones
- La biblioteca «debería» proporciona las afirmaciones
- En casi todos los casos, usted tendrá que localizar uno o más elementos con un selector y luego realizar alguna operación sobre el elemento (s)
- Ejemplos:
- Buscar texto en una página y verificar el texto
- Rellenar un formulario y enviar
- Verificar el CSS de un elemento
- Ejemplos:
Echemos un vistazo más de cerca el ejemplo con comentarios.
Carga las bibliotecas requeridas: web controlador IO y debe.
// required libraries var webdriverio = require('webdriverio'), should = require('should');
Definir el conjunto de pruebas. Esta suite se llama: "Título prueba de controlador IO – Tutorial prueba página sitio Web"
// a test script block or suite describe('Title Test for Web Driver IO - Tutorial Test Page Website', function() { ... });
Establece el tiempo de espera en 10 segundos para que el script no tiempo de espera al cargar la página.
// set timeout to 10 seconds this.timeout(10000);
Gancho para cargar el controlador del navegador antes de ejecutar las especificaciones "Especificaciones". El conductor de Firefox se carga en este ejemplo.
// hook to run before tests before( function (done) { // load the driver for browser driver = webdriverio.remote({ desiredCapabilities: {browserName: 'firefox'} }); driver.init(done); });
Definir la especificación de la prueba.
// a test spec - "specification" it('should be load correct page and title', function () { ... });
Carga de la página web
.url('http://www.tlkeith.com/WebDriverIOTutorialTest.html')
Obtener título, y luego pasar título function()
.getTitle().then( function (title) { ... });
Verificar el uso del título la debe biblioteca de afirmación.
(title).should.be.equal("Web Driver IO - Tutorial Test Page");
Gancho para dejar de fumar y la limpieza del conductor cuando haya terminado.
// a "hook" to run after all tests in this block after(function(done) { driver.end(done); });