{"id":4114,"date":"2021-09-06T09:05:00","date_gmt":"2021-09-06T07:05:00","guid":{"rendered":"https:\/\/wata.es\/?p=4114"},"modified":"2026-01-30T10:13:31","modified_gmt":"2026-01-30T09:13:31","slug":"introduccion-a-las-pruebas-automatizadas-con-codeception-en-proyectos-php","status":"publish","type":"post","link":"https:\/\/wata.es\/es\/introduccion-a-las-pruebas-automatizadas-con-codeception-en-proyectos-php\/","title":{"rendered":"Introducci\u00f3n a las pruebas automatizadas con Codeception en proyectos PHP"},"content":{"rendered":"\n<p>\u00bfQu\u00e9 es el testing automatizado? \u00bfC\u00f3mo lo estamos implementando en WATA Factory? \u00bfCu\u00e1les son los motivos que hacen al testing automatizado tan interesante?<\/p>\n\n\n\n<!--more-->\n\n\n\n<p>En este art\u00edculo hablaremos sobre <strong>Codeception<\/strong>, una de las herramientas que utilizamos para la automatizaci\u00f3n de pruebas para nuestros proyectos web implementados en PHP.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>\u00bfQu\u00e9 es el testing automatizado?<\/strong><\/h4>\n\n\n\n<p>En el \u00e1mbito de las pruebas de software, cuando hablamos de testing automatizado, nos referimos a conseguir que las pruebas que se realizan de forma manual puedan ser ejecutadas de forma desatendida, por medio de alguna herramienta que realice el proceso autom\u00e1ticamente, y como <a href=\"https:\/\/wata.es\/automated-testing-caracteristicas-ventajas-y-desventajas\/?lang=es\">ya mencionamos en un articulo anterior<\/a>, hacer que se mejore el proceso pero sin suplir al 100% el beneficio del testing manual.<\/p>\n\n\n\n<p>Si podemos hacer que los tests sean ejecutados por un ordenador, entonces <strong>conseguiremos ejecutarlos de forma continuada seg\u00fan vayamos desarrollando<\/strong> la aplicaci\u00f3n.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>\u00bfPor qu\u00e9 el testing autom\u00e1tico es interesante para nosotros?<\/strong><\/h4>\n\n\n\n<p>En WATA Factory nos vimos en la necesidad de implementar este tipo de pruebas ya que la evoluci\u00f3n de nuestros proyectos requer\u00eda de nuevas funcionalidades, que deb\u00edan ser probadas en conjunto con las ya existentes <strong>para continuar asegurando la calidad de nuestros productos<\/strong>.<\/p>\n\n\n\n<p>La automatizaci\u00f3n de pruebas trae una serie de beneficios que ayudan a elevar el nivel de calidad del producto y tambi\u00e9n a disminuir su coste, ya que la repetici\u00f3n de pruebas no supone una inversion grande de tiempo en las fases de mejora o evoluci\u00f3n del producto. <\/p>\n\n\n\n<p>Algunas de las <strong>ventajas<\/strong> que hemos conseguido en WATA Factory con la implementaci\u00f3n de las pruebas automatizadas son:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Verificar de forma autom\u00e1tica que las especificaciones que se han definido se cumplen, haciendo uso de <strong>BDD<\/strong> (<em>Behavior Driven Development<\/em>). Uno de sus grandes beneficios es que nos permite mantener un lenguaje com\u00fan entre el cliente y el equipo de desarrollo, detallando casos que verifican que el comportamiento del c\u00f3digo es correcto desde el punto de vista del usuario.<\/li><li><strong>Reducir el n\u00famero de bugs<\/strong>, ya que aseguramos que tanto la nueva funcionalidad como la antigua contin\u00faan trabajando correctamente.<\/li><li>Ganar tiempo probando, ya que evitamos las tareas repetitivas, y aseguramos que los <strong>nuevos cambios en nuestra aplicaci\u00f3n no afectan en otras partes del sistema<\/strong>.<\/li><li>Crear una buena documentaci\u00f3n.<\/li><li>Y hacer que el trabajo en equipo sea m\u00e1s sencillo y seguro.<\/li><\/ul>\n\n\n\n<p>Para comenzar con el desarrollo de las pruebas automatizadas estuvimos investigando sobre frameworks de pruebas y descubrimos Codeception, que reun\u00eda todo lo que necesit\u00e1bamos en una sola herramienta.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">\u00bfQu\u00e9 es Codeception y c\u00f3mo podemos instalarlo?<\/h4>\n\n\n\n<p>Codeception es un framework de pruebas para PHP cuyo objetivo es crear tests legibles que describan acciones desde la perspectiva del usuario. Nos permite hacer pruebas de aceptaci\u00f3n, funcionales y unitarias.<\/p>\n\n\n\n<p>La clave de Codeception son sus actores. Codeception entiende los tests como acciones que ejecuta una persona. Como resumen, un <strong>UnitTester<\/strong> ejecuta acciones y testea c\u00f3digo, un <strong>FunctionalTester<\/strong> prueba la aplicaci\u00f3n en su conjunto, y un <strong>AcceptanceTester<\/strong> interact\u00faa con la interfaz.<\/p>\n\n\n\n<p>Cada Actor ejecuta Steps, que son instrucciones individuales dentro de un escenario. Las instrucciones que puede generar un Actor se agrupan en m\u00f3dulos: PhpBrowser, WebDriver, DB, FileSystem, etc.<\/p>\n\n\n\n<p>Para su instalaci\u00f3n seguimos los pasos descritos en la <a href=\"https:\/\/codeception.com\/install\" target=\"_blank\" rel=\"noopener noreferrer nofollow\">documentaci\u00f3n oficial<\/a>.<\/p>\n\n\n\n<p>Con la instalaci\u00f3n se crea una carpeta llamada tests, y dentro de esta carpeta se crea una estructura b\u00e1sica para codificar los diferentes tipos de pruebas.<\/p>\n\n\n\n<p>Como ejemplo vamos a testear el cl\u00e1sico Login. Aunque son mas los escenarios que detallar en esta prueba solo mostramos alguno de ellos para no extenderlo. <\/p>\n\n\n\n<p>Para crear el test se ejecuta el comando:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">php vendor\/bin\/codecept g:feature acceptance Login<\/pre>\n\n\n\n<p>Esto crear\u00e1 una fichero \u2018<strong>.feature<\/strong>\u2019 en el que escribiremos nuestra historia de usuario en un lenguaje formal llamado <strong>Gherkin<\/strong> con la particularidad de que podemos ejecutar estos escenarios como pruebas automatizadas.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><strong>Feature:<\/strong> Login page\nCheck that the user can access correctly with correct credentials, in other case a warning text is shown.\n \n<strong>Scenario:<\/strong> User inserts empty password and empty username\n   <strong>Given<\/strong> I am on login page\n   <strong>When<\/strong> I fill fields with empty value\n     <strong>And<\/strong> I click on login button\n   <strong>Then<\/strong> I see the entered user data are not correct\n \n<strong>Scenario:<\/strong> Successful access with valid credencials\n   <strong>Given<\/strong> I am on login page\n   <strong>When<\/strong> I fill the fields with correct credencials\n     <strong>And<\/strong> I click on login button\n   <strong>Then<\/strong> I see Welcome Dummy Name<\/pre>\n\n\n\n<p>Los escenarios se escriben paso a paso usando \u00abGiven-When-Then\u00bb. <\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>La parte <strong>GIVEN<\/strong> son las condiciones previas para la pruebas. Desde donde partimos.<\/li><li>La secci\u00f3n <strong>WHEN<\/strong> es ese comportamiento que est\u00e1s especificando, es decir las acciones que necesitamos.<\/li><li>Y finalmente <strong>THEN <\/strong>que es la parte donde obtenemos el resultado esperado.<\/li><\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">Definiendo las pruebas<\/h4>\n\n\n\n<p>Nuestro pr\u00f3ximo paso ser\u00e1 definir y transformar el archivo de caracter\u00edsticas en una prueba v\u00e1lida. Los definiremos en el archivo del <strong>AcceptanceTester<\/strong>.<\/p>\n\n\n\n<p>Para\nconseguir los pasos necesarios se ejecuta el siguiente comando: <\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">php vendor\/bin\/codecept gherkin:snippets acceptance<\/pre>\n\n\n\n<p>Para implementarlos como estamos en la suite de aceptaci\u00f3n usamos <strong>WebDriver<\/strong> como modulo, ya que nos permite la interacci\u00f3n con el navegador. Esto significa que podemos utilizar sus m\u00e9todos dentro del archivo Tester, como hacemos con las pruebas de escritura usando <\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">$I-&gt;<\/pre>\n\n\n\n<p>Se puede emplear diferentes m\u00e9todos que ya est\u00e1n desarrollados (por ejemplo <strong>amOnPage<\/strong> o <strong>click<\/strong>). Cada paso del escenario Gherkin se extender\u00e1 con los m\u00e9todos definidos en Codeception.<\/p>\n\n\n\n<p>Vamos a mostrar c\u00f3mo puede ser implementado en nuestro caso:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><em>\/**\n&nbsp;* <strong>@Given <\/strong>I am on login page\n&nbsp;*\/\n<\/em>public function iAmOnLoginPage()\n{\n&nbsp;&nbsp;&nbsp; $I-&gt;amOnPage('\/login');\n}\n\n<em>\/**\n&nbsp;* <strong>@When <\/strong>I fill fields with empty value\n&nbsp;*\/\n<\/em>public function iFillFieldsWithEmptyValue()\n{\n&nbsp;&nbsp;&nbsp; $I-&gt;fillField('#username','');\n&nbsp;&nbsp;&nbsp; $I-&gt;fillField('#password','');\n}\n\n<em>\/**\n&nbsp;* <strong>@When <\/strong>I fill the fields with correct credencials\n&nbsp;*\/\n<\/em>public function iFillTheFieldsWithCorrectCredencials()\n{\n&nbsp;&nbsp;&nbsp; $I-&gt;fillField('#username','correctUsername');\n&nbsp;&nbsp;&nbsp; $I-&gt;fillField('#password','correctPassword');\n}\n\n<em>\/**\n&nbsp;* <strong>@When <\/strong>I click on login button\n&nbsp;*\/\n<\/em>public function iClickOnLoginButton()\n{\n&nbsp;&nbsp;&nbsp; $I-&gt;click('Login');\n}\n\n<em>\/**\n&nbsp;* <strong>@Then <\/strong>I see the entered user data are not correct\n&nbsp;*\/\n<\/em>public function iSeeTheEnteredUserDataAreNotCorrect()\n{\n&nbsp;&nbsp;&nbsp; $I-&gt;see('the entered user data are not correct');\n}\n\n<em>\/**\n&nbsp;* <strong>@Then <\/strong>I see Welcome Dummy Name\n&nbsp;*\/\n<\/em>public function iSeeWelcomeDummyName()\n{\n&nbsp;&nbsp;&nbsp; $I-&gt;see('Welcome Dummy Name,');\n}<\/pre>\n\n\n\n<p>Finalmente ejecutamos nuestro archivo<strong> .feature<\/strong> con el comando <\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">php vendor\/bin\/codecept run acceptance Login.feature --steps <\/pre>\n\n\n\n<p>para ver que Given\/When\/Then se\nampl\u00edan con subpasos y muestra el resultado esperado sobre la ejecucion.<strong><\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">Acceptance Tests (2)\n-------------------------------------------------------------\n<strong>Login page:<\/strong> User inserts empty password and empty username <strong>Signature:<\/strong> User inserts empty password and empty username\n<strong>Test:<\/strong> App\/Tests\/surveys\/Login.feature:User inserts empty password and empty username\n\n<strong>Scenario --<\/strong> \nCheck that the user can access correctly with correct credentials, in other case a warning text is shown.\n\n<strong>Given<\/strong> i am on login page\n   I am on url \"https:\/\/###########\/login\"\n<strong>When<\/strong> i fill fields with empty value\n   I fill field \"#username\",\" \"\n   I fill field \"#password\",\" \"\n<strong>And<\/strong> i click on login button \n   I click \"LOGIN\"\n   I wait 5\n<strong>Then<\/strong> i see the entered user data are not correct \n   I see \"the entered user data are not correct\" \n<strong>PASSED<\/strong> \n\n<strong>Login page:<\/strong> User inserts proper information - Successful access with valid credencials \n<strong>Signature:<\/strong> Successful access with valid credencials \n<strong>Test:<\/strong> App\/Tests\/surveys\/articulo_test.feature: Successful access with valid credencials\n\n<strong>Scenario --<\/strong>\nCheck that the user can access correctly with correct credentials, in other case a warning text is shown.\n\n<strong>Given<\/strong> i am on login page \n   I am on url \"https:\/\/########\/login\"\n<strong>When<\/strong> i fill the fields with correct credencials \n   I fill field \"#username\",\"correctUsername\"\n   I fill field \"#password\",\"correctPassword\"\n<strong>And<\/strong> i click on login button \n   I click \"LOGIN\"\n   I wait 5\n<strong>Then<\/strong> i see welcome dummy name \n   I see \"Welcome Dummy Name,\"\n<strong>PASSED<\/strong> \n-------------------------------------------------------------\nTime: 19.57 seconds, Memory: 18.00 MB OK (2 tests, 2 assertions)<\/pre>\n\n\n\n<p>Son muchas las ventajas que nos ofrece esta herramienta, adem\u00e1s tambi\u00e9n cuenta con una aplicaci\u00f3n, conocida como <strong><a href=\"https:\/\/github.com\/jayhealey\/Webception\" target=\"_blank\" rel=\"noopener noreferrer nofollow\">Webception<\/a><\/strong>, en la que el cliente puede ejecutar todos los test desde el navegador y as\u00ed poder seguir el estado de su aplicaci\u00f3n.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u00bfQu\u00e9 es el testing automatizado? \u00bfC\u00f3mo lo estamos implementando en WATA Factory? \u00bfCu\u00e1les son los motivos que hacen al testing automatizado tan interesante?<\/p>\n","protected":false},"author":20,"featured_media":4753,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[89,183],"tags":[219,218,152],"class_list":["post-4114","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-noticias","category-tecnologia","tag-codeception-2","tag-php-2","tag-testing"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Introducci\u00f3n a las pruebas automatizadas con Codeception en proyectos PHP - WATA Factory<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/wata.es\/es\/introduccion-a-las-pruebas-automatizadas-con-codeception-en-proyectos-php\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Introducci\u00f3n a las pruebas automatizadas con Codeception en proyectos PHP - WATA Factory\" \/>\n<meta property=\"og:description\" content=\"\u00bfQu\u00e9 es el testing automatizado? \u00bfC\u00f3mo lo estamos implementando en WATA Factory? \u00bfCu\u00e1les son los motivos que hacen al testing automatizado tan interesante?\" \/>\n<meta property=\"og:url\" content=\"https:\/\/wata.es\/es\/introduccion-a-las-pruebas-automatizadas-con-codeception-en-proyectos-php\/\" \/>\n<meta property=\"og:site_name\" content=\"WATA Factory\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/watafactory\/\" \/>\n<meta property=\"article:published_time\" content=\"2021-09-06T07:05:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-01-30T09:13:31+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/wata.es\/wp-content\/uploads\/2021\/04\/pruebas-automaticas-codeception-php-watafactory.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"800\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Isabel Do\u00f1a\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@watafactory\" \/>\n<meta name=\"twitter:site\" content=\"@watafactory\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Isabel Do\u00f1a\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/wata.es\\\/es\\\/introduccion-a-las-pruebas-automatizadas-con-codeception-en-proyectos-php\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/wata.es\\\/es\\\/introduccion-a-las-pruebas-automatizadas-con-codeception-en-proyectos-php\\\/\"},\"author\":{\"name\":\"Isabel Do\u00f1a\",\"@id\":\"https:\\\/\\\/wata.es\\\/#\\\/schema\\\/person\\\/0253b3b311832e40e684669a8efad33d\"},\"headline\":\"Introducci\u00f3n a las pruebas automatizadas con Codeception en proyectos PHP\",\"datePublished\":\"2021-09-06T07:05:00+00:00\",\"dateModified\":\"2026-01-30T09:13:31+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/wata.es\\\/es\\\/introduccion-a-las-pruebas-automatizadas-con-codeception-en-proyectos-php\\\/\"},\"wordCount\":905,\"publisher\":{\"@id\":\"https:\\\/\\\/wata.es\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/wata.es\\\/es\\\/introduccion-a-las-pruebas-automatizadas-con-codeception-en-proyectos-php\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/wata.es\\\/wp-content\\\/uploads\\\/2021\\\/04\\\/pruebas-automaticas-codeception-php-watafactory.jpg\",\"keywords\":[\"codeception\",\"php\",\"testing\"],\"articleSection\":[\"Noticias\",\"Tecnolog\u00eda\"],\"inLanguage\":\"es\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/wata.es\\\/es\\\/introduccion-a-las-pruebas-automatizadas-con-codeception-en-proyectos-php\\\/\",\"url\":\"https:\\\/\\\/wata.es\\\/es\\\/introduccion-a-las-pruebas-automatizadas-con-codeception-en-proyectos-php\\\/\",\"name\":\"Introducci\u00f3n a las pruebas automatizadas con Codeception en proyectos PHP - WATA Factory\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/wata.es\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/wata.es\\\/es\\\/introduccion-a-las-pruebas-automatizadas-con-codeception-en-proyectos-php\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/wata.es\\\/es\\\/introduccion-a-las-pruebas-automatizadas-con-codeception-en-proyectos-php\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/wata.es\\\/wp-content\\\/uploads\\\/2021\\\/04\\\/pruebas-automaticas-codeception-php-watafactory.jpg\",\"datePublished\":\"2021-09-06T07:05:00+00:00\",\"dateModified\":\"2026-01-30T09:13:31+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/wata.es\\\/es\\\/introduccion-a-las-pruebas-automatizadas-con-codeception-en-proyectos-php\\\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/wata.es\\\/es\\\/introduccion-a-las-pruebas-automatizadas-con-codeception-en-proyectos-php\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/wata.es\\\/es\\\/introduccion-a-las-pruebas-automatizadas-con-codeception-en-proyectos-php\\\/#primaryimage\",\"url\":\"https:\\\/\\\/wata.es\\\/wp-content\\\/uploads\\\/2021\\\/04\\\/pruebas-automaticas-codeception-php-watafactory.jpg\",\"contentUrl\":\"https:\\\/\\\/wata.es\\\/wp-content\\\/uploads\\\/2021\\\/04\\\/pruebas-automaticas-codeception-php-watafactory.jpg\",\"width\":1200,\"height\":800,\"caption\":\"Analista de negocios revisando el diagrama de flujo y las m\u00e9tricas de rendimiento en la computadora\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/wata.es\\\/es\\\/introduccion-a-las-pruebas-automatizadas-con-codeception-en-proyectos-php\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/wata.es\\\/es\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Introducci\u00f3n a las pruebas automatizadas con Codeception en proyectos PHP\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/wata.es\\\/#website\",\"url\":\"https:\\\/\\\/wata.es\\\/\",\"name\":\"WATA Factory\",\"description\":\"IT Consulting &amp; Outsourcing for your company\",\"publisher\":{\"@id\":\"https:\\\/\\\/wata.es\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/wata.es\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/wata.es\\\/#organization\",\"name\":\"WATA Factory\",\"url\":\"https:\\\/\\\/wata.es\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/wata.es\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/wata.es\\\/wp-content\\\/uploads\\\/2019\\\/12\\\/logowata.png\",\"contentUrl\":\"https:\\\/\\\/wata.es\\\/wp-content\\\/uploads\\\/2019\\\/12\\\/logowata.png\",\"width\":688,\"height\":176,\"caption\":\"WATA Factory\"},\"image\":{\"@id\":\"https:\\\/\\\/wata.es\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/watafactory\\\/\",\"https:\\\/\\\/x.com\\\/watafactory\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/wata\\\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/wata.es\\\/#\\\/schema\\\/person\\\/0253b3b311832e40e684669a8efad33d\",\"name\":\"Isabel Do\u00f1a\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/841c93d4a2d0c7abc62bf333ac4ef26014ff545cdfb74954a66d26e741bc76f6?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/841c93d4a2d0c7abc62bf333ac4ef26014ff545cdfb74954a66d26e741bc76f6?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/841c93d4a2d0c7abc62bf333ac4ef26014ff545cdfb74954a66d26e741bc76f6?s=96&d=mm&r=g\",\"caption\":\"Isabel Do\u00f1a\"},\"url\":\"https:\\\/\\\/wata.es\\\/es\\\/author\\\/igranados\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Introducci\u00f3n a las pruebas automatizadas con Codeception en proyectos PHP - WATA Factory","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/wata.es\/es\/introduccion-a-las-pruebas-automatizadas-con-codeception-en-proyectos-php\/","og_locale":"es_ES","og_type":"article","og_title":"Introducci\u00f3n a las pruebas automatizadas con Codeception en proyectos PHP - WATA Factory","og_description":"\u00bfQu\u00e9 es el testing automatizado? \u00bfC\u00f3mo lo estamos implementando en WATA Factory? \u00bfCu\u00e1les son los motivos que hacen al testing automatizado tan interesante?","og_url":"https:\/\/wata.es\/es\/introduccion-a-las-pruebas-automatizadas-con-codeception-en-proyectos-php\/","og_site_name":"WATA Factory","article_publisher":"https:\/\/www.facebook.com\/watafactory\/","article_published_time":"2021-09-06T07:05:00+00:00","article_modified_time":"2026-01-30T09:13:31+00:00","og_image":[{"width":1200,"height":800,"url":"https:\/\/wata.es\/wp-content\/uploads\/2021\/04\/pruebas-automaticas-codeception-php-watafactory.jpg","type":"image\/jpeg"}],"author":"Isabel Do\u00f1a","twitter_card":"summary_large_image","twitter_creator":"@watafactory","twitter_site":"@watafactory","twitter_misc":{"Escrito por":"Isabel Do\u00f1a","Tiempo de lectura":"4 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/wata.es\/es\/introduccion-a-las-pruebas-automatizadas-con-codeception-en-proyectos-php\/#article","isPartOf":{"@id":"https:\/\/wata.es\/es\/introduccion-a-las-pruebas-automatizadas-con-codeception-en-proyectos-php\/"},"author":{"name":"Isabel Do\u00f1a","@id":"https:\/\/wata.es\/#\/schema\/person\/0253b3b311832e40e684669a8efad33d"},"headline":"Introducci\u00f3n a las pruebas automatizadas con Codeception en proyectos PHP","datePublished":"2021-09-06T07:05:00+00:00","dateModified":"2026-01-30T09:13:31+00:00","mainEntityOfPage":{"@id":"https:\/\/wata.es\/es\/introduccion-a-las-pruebas-automatizadas-con-codeception-en-proyectos-php\/"},"wordCount":905,"publisher":{"@id":"https:\/\/wata.es\/#organization"},"image":{"@id":"https:\/\/wata.es\/es\/introduccion-a-las-pruebas-automatizadas-con-codeception-en-proyectos-php\/#primaryimage"},"thumbnailUrl":"https:\/\/wata.es\/wp-content\/uploads\/2021\/04\/pruebas-automaticas-codeception-php-watafactory.jpg","keywords":["codeception","php","testing"],"articleSection":["Noticias","Tecnolog\u00eda"],"inLanguage":"es"},{"@type":"WebPage","@id":"https:\/\/wata.es\/es\/introduccion-a-las-pruebas-automatizadas-con-codeception-en-proyectos-php\/","url":"https:\/\/wata.es\/es\/introduccion-a-las-pruebas-automatizadas-con-codeception-en-proyectos-php\/","name":"Introducci\u00f3n a las pruebas automatizadas con Codeception en proyectos PHP - WATA Factory","isPartOf":{"@id":"https:\/\/wata.es\/#website"},"primaryImageOfPage":{"@id":"https:\/\/wata.es\/es\/introduccion-a-las-pruebas-automatizadas-con-codeception-en-proyectos-php\/#primaryimage"},"image":{"@id":"https:\/\/wata.es\/es\/introduccion-a-las-pruebas-automatizadas-con-codeception-en-proyectos-php\/#primaryimage"},"thumbnailUrl":"https:\/\/wata.es\/wp-content\/uploads\/2021\/04\/pruebas-automaticas-codeception-php-watafactory.jpg","datePublished":"2021-09-06T07:05:00+00:00","dateModified":"2026-01-30T09:13:31+00:00","breadcrumb":{"@id":"https:\/\/wata.es\/es\/introduccion-a-las-pruebas-automatizadas-con-codeception-en-proyectos-php\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/wata.es\/es\/introduccion-a-las-pruebas-automatizadas-con-codeception-en-proyectos-php\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/wata.es\/es\/introduccion-a-las-pruebas-automatizadas-con-codeception-en-proyectos-php\/#primaryimage","url":"https:\/\/wata.es\/wp-content\/uploads\/2021\/04\/pruebas-automaticas-codeception-php-watafactory.jpg","contentUrl":"https:\/\/wata.es\/wp-content\/uploads\/2021\/04\/pruebas-automaticas-codeception-php-watafactory.jpg","width":1200,"height":800,"caption":"Analista de negocios revisando el diagrama de flujo y las m\u00e9tricas de rendimiento en la computadora"},{"@type":"BreadcrumbList","@id":"https:\/\/wata.es\/es\/introduccion-a-las-pruebas-automatizadas-con-codeception-en-proyectos-php\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/wata.es\/es\/"},{"@type":"ListItem","position":2,"name":"Introducci\u00f3n a las pruebas automatizadas con Codeception en proyectos PHP"}]},{"@type":"WebSite","@id":"https:\/\/wata.es\/#website","url":"https:\/\/wata.es\/","name":"WATA Factory","description":"IT Consulting &amp; Outsourcing for your company","publisher":{"@id":"https:\/\/wata.es\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/wata.es\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/wata.es\/#organization","name":"WATA Factory","url":"https:\/\/wata.es\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/wata.es\/#\/schema\/logo\/image\/","url":"https:\/\/wata.es\/wp-content\/uploads\/2019\/12\/logowata.png","contentUrl":"https:\/\/wata.es\/wp-content\/uploads\/2019\/12\/logowata.png","width":688,"height":176,"caption":"WATA Factory"},"image":{"@id":"https:\/\/wata.es\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/watafactory\/","https:\/\/x.com\/watafactory","https:\/\/www.linkedin.com\/company\/wata\/"]},{"@type":"Person","@id":"https:\/\/wata.es\/#\/schema\/person\/0253b3b311832e40e684669a8efad33d","name":"Isabel Do\u00f1a","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/secure.gravatar.com\/avatar\/841c93d4a2d0c7abc62bf333ac4ef26014ff545cdfb74954a66d26e741bc76f6?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/841c93d4a2d0c7abc62bf333ac4ef26014ff545cdfb74954a66d26e741bc76f6?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/841c93d4a2d0c7abc62bf333ac4ef26014ff545cdfb74954a66d26e741bc76f6?s=96&d=mm&r=g","caption":"Isabel Do\u00f1a"},"url":"https:\/\/wata.es\/es\/author\/igranados\/"}]}},"_links":{"self":[{"href":"https:\/\/wata.es\/es\/wp-json\/wp\/v2\/posts\/4114","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wata.es\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wata.es\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wata.es\/es\/wp-json\/wp\/v2\/users\/20"}],"replies":[{"embeddable":true,"href":"https:\/\/wata.es\/es\/wp-json\/wp\/v2\/comments?post=4114"}],"version-history":[{"count":4,"href":"https:\/\/wata.es\/es\/wp-json\/wp\/v2\/posts\/4114\/revisions"}],"predecessor-version":[{"id":15440,"href":"https:\/\/wata.es\/es\/wp-json\/wp\/v2\/posts\/4114\/revisions\/15440"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wata.es\/es\/wp-json\/wp\/v2\/media\/4753"}],"wp:attachment":[{"href":"https:\/\/wata.es\/es\/wp-json\/wp\/v2\/media?parent=4114"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wata.es\/es\/wp-json\/wp\/v2\/categories?post=4114"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wata.es\/es\/wp-json\/wp\/v2\/tags?post=4114"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}