Blog sobre desarrollo WordPress en Español Desarrollo WordPress en Español
WordPress y Codeception

Codeception para WordPress: WPBrowser

En entradas anteriores hemos visto cómo realizar tests de aceptación en WordPress con Codeception, utilizando el módulo PhpBrowser que viene por defecto, así como el módulo WebDriver tanto con PhantomJS como con Selenium.

Bien, en esta entrada vamos a ver WPBrowser, un paquete específico de Codeception para WordPress, con utilidades para realizar tests de aceptación sin tener que reinventar la rueda.

Comencemos con la instalación y su configuración y luego pasemos a ver varios ejemplos.

 

Instalación de WPBrowser

Para instalar el paquete WPBrowser de Codeception, utilizaremos composer. Lo primero es insertar las dependencias en el fichero composer.json:

Si has obtenido algún conflicto porque tenías previamente instalado codeception, prueba a eliminarlo e instalar únicamente el paquete de WPBrowser.

Según la documentación oficial, al instalar wp-browser éste instalará Codeception a su vez, pero esto no es así (al menos en la versión 2.5, la actual en el momento de escribir este post). En GitHub, las instrucciones indican que para versiones 4.0 de Codeception o superiores, te asegures de que tienes en el composer.json todos los paquetes requeridos:

Una vez instalado, el siguiente paso es iniciar WPBrowser, te aparecerá una guía paso a paso (para realizar la configuración: path donde se encuentra WordPress, base de datos del sitio, base de datos de test, credenciales, URL del sitio, etc…) para crear la configuraciones necesarias, si tienes alguna duda sobre ellas visita la página oficial donde viene detallado. Para esto, ejecuta lo siguiente en la terminal:

wpbrowser

Si necesitas cambiar alguna de estas configuraciones en un futuro, puedes editar el fichero .env.testing.

En este punto, ya deberíamos tener una carpeta tests, con las 3 suites por defecto y sus correspondientes archivos de configuración. El paquete de WPBrowser, viene con una serie de módulos para realizar tests de manera más rápida y cómoda

 

Ejemplos con el módulo WPBrowser

Este módulo puede utilizarse para realizar test de aceptación y funcionales. Extiende el módulo PHPBrowser que viene por defecto en Codeception, añadiendo instrucciones específicas para WordPress.

Este módulo emula la interactuación de un usuario sin soporte de JavaScript. Si lo necesitaras para testear tu desarrollo, utiliza mejor el módulo WPWebDriver. Pone a nuestra disposición intrucciones como:

loginAs

Para hacer login con un usuario especificado. Nos reduce los pasos de ir a la página de login, rellenar el campo de username, rellenar el campo password, y hacer click en el botón de Acceder. Simplifica 4 instrucciones en una, quedando alto tipo:

 

loginAsAdmin

Simula el login como administrador, utilizando las credenciales especificadas en el archivo de configuración del módulo.

 

activatePlugin

Para activar un plugin durante el test. Se puede activar uno o varios a la vez. Este método no hace por sí solo el login en el dashboard.

 

amOnPluginsPage

Te lleva y comprueba que el usuario actual puede acceder a la página de gestión de plugins. Este método no hace por sí solo el login en el dashboard.

 

seeMessage

En la administración de WordPress, busca un notice, por ejemplo cuando actualizas un setting, creas una página, post, usuario, etc… La búsqueda debe ser sobre la clase CSS de la notificación, para evitar problemas de traducción de cadenas. Este método no hace por sí solo el login en el dashboard.

 

seePluginActivated, seePluginDeactivated, seePluginInstalled

Para comprobar si tenemos un plugin activo, inactivo o instalado. Este método no hace por sí solo el login en el dashboard.

 

Tienes más información sobre los métodos específicos de este módulo en la documentación oficial. Con ellos podrás simplificar los steps de cada test que realices para tus desarrollos basados en WordPress

Puede que también te interese

Buscando patrón con expresiones regulares
Buscando patrón con expresiones regulares
Nunca digas nunca… pero creo que esta ha sido mi última participación como ponente en una WordCamp. Han sido cuatro años, donde he tenido la…
Creando un tema desde cero para WordPress parte 2: Escribiendo el tema
Creando un tema desde cero para WordPress parte 2: Escribiendo el tema
1. Creando un tema desde cero para WordPress: Consideraciones previas 2. Creando un tema desde cero para WordPress: Escribiendo el tema 3. Creando un tema…
Cómo agregar campos personalizados al perfil de usuario de WordPress
Cómo agregar campos personalizados al perfil de usuario de WordPress
WordPress nos da la opción de permitir que los usuarios se registren en nuestro sitio (en Ajustes => Generales => Cualquiera puede registrarse). Por defecto…
Cómo desactivar Emojis en WordPress
Cómo desactivar Emojis en WordPress
A partir de la versión 4.2 de WordPress se ha introducido una nueva característica: Emojis Icons. Permite el uso de los iconos Emoji en los…