Cómo utilizar Selenium IDE con scripts & Comandos (afirmar, verificar)

Tabla de contenido:

Anonim

Usaremos el sitio web de Mercury Tours como nuestra aplicación web bajo prueba. Es un sistema de reserva de vuelos en línea que contiene todos los elementos que necesitamos para este tutorial. Su URL es http://demo.guru99.com/test/newtours/, y esta será nuestra URL base.

Crear un guión grabando

Creemos ahora nuestro primer script de prueba en Selenium IDE utilizando el método más común: mediante grabación. Luego, ejecutaremos nuestro script usando la función de reproducción.

Paso 1

  • Inicie Firefox y Selenium IDE.
  • Escriba el valor de nuestra URL base: http://demo.guru99.com/test/newtours/.
  • Active el botón Grabar (si aún no está activado de forma predeterminada).
Paso 2

En Firefox, vaya a http://demo.guru99.com/test/newtours/. Firefox debería llevarlo a una página similar a la que se muestra a continuación.

Paso 3
  • Haga clic con el botón derecho en cualquier espacio en blanco dentro de la página, como en el logotipo de Mercury Tours en la esquina superior izquierda. Esto abrirá el menú contextual de Selenium IDE. Nota: No haga clic en ningún objeto o imagen con hipervínculos.
  • Seleccione la opción "Mostrar comandos disponibles".
  • Luego, seleccione "assertTitle exact: Welcome: Mercury Tours". Este es un comando que asegura que el título de la página sea correcto.
Paso 4
  • En el cuadro de texto "Nombre de usuario" de Mercury Tours, escriba un nombre de usuario no válido, "invalidUNN".
  • En el cuadro de texto "Contraseña", escriba una contraseña no válida, "invalidPWD".
Paso 5
  • Haga clic en el botón "Iniciar sesión". Firefox debería llevarte a esta página.
Paso 6

Desactive el botón de grabación para detener la grabación. Su secuencia de comandos ahora debería verse como la que se muestra a continuación.

Paso 7

Ahora que hemos terminado con nuestro script de prueba, lo guardaremos en un caso de prueba. En el menú Archivo, seleccione "Guardar caso de prueba". Alternativamente, puede simplemente presionar Ctrl + S.

Paso 8
  • Elija la ubicación deseada y luego nombre el caso de prueba como "Invalid_login".
  • Haga clic en el botón "Guardar".
Paso 9.

Observe que el archivo se guardó como HTML.

Paso 10.

Vuelva a Selenium IDE y haga clic en el botón Reproducir para ejecutar todo el script. Selenium IDE debería poder replicar todo sin problemas.

Introducción a los comandos de selenio - Selenese

  • Los comandos seleneses pueden tener hasta un máximo de dos parámetros: objetivo y valor.
  • Los parámetros no son necesarios todo el tiempo. Depende de cuántos necesitará el comando.

3 tipos de comandos

Comportamiento

Estos son comandos que interactúan directamente con los elementos de la página.

Ejemplo: el comando "hacer clic" es una acción porque interactúas directamente con el elemento en el que estás haciendo clic.

El comando "escribir" también es una acción porque está poniendo valores en un cuadro de texto, y el cuadro de texto se los muestra a cambio. Existe una interacción bidireccional entre usted y el cuadro de texto.

Accessors

Son comandos que le permiten almacenar valores en una variable.

Ejemplo: el comando "storeTitle" es un descriptor de acceso porque solo "lee" el título de la página y lo guarda en una variable. No interactúa con ningún elemento de la página.

Afirmaciones

Son comandos que verifican si se cumple una determinada condición.

3 tipos de afirmaciones

  • Afirmar . Cuando falla un comando de "aserción", la prueba se detiene inmediatamente.
  • Verificar . Cuando falla un comando de "verificación", Selenium IDE registra esta falla y continúa con la ejecución de la prueba.
  • Espere . Antes de pasar al siguiente comando, los comandos "waitFor" primero esperarán a que se cumpla una determinada condición.
    • Si la condición se vuelve verdadera dentro del período de espera, el paso pasa.
    • Si la condición no se cumple, el paso falla. La falla se registra y la ejecución de la prueba pasa al siguiente comando.
    • De forma predeterminada, el valor de tiempo de espera se establece en 30 segundos. Puede cambiar esto en el cuadro de diálogo Opciones de Selenium IDE en la pestaña General.

Afirmar frente a verificar

Comandos comunes

Mando Número de parámetros Descripción
abierto 0 - 2

Abre una página usando una URL.

click / clickAndWait 1

Hace clic en un elemento específico.

type / typeKeys 2

Escribe una secuencia de caracteres.

verifyTitle / assertTitle 1

Compara el título de la página real con un valor esperado.

verifyTextPresent 1

Comprueba si se encuentra un determinado texto dentro de la página.

verifyElementPresent 1

Comprueba la presencia de un determinado elemento.

verifyTable 2

Compara el contenido de una tabla con los valores esperados.

waitForPageToLoad 1

Pausa la ejecución hasta que la página se carga por completo.

waitForElementPresent 1

Pausa la ejecución hasta que el elemento especificado esté presente.

Cree un script manualmente con Firebug

Ahora, recrearemos el mismo caso de prueba manualmente, escribiendo los comandos. Esta vez, necesitaremos usar Firebug.

Paso 1
  • Abra Firefox y Selenium IDE.
  • Escriba la URL base (http://demo.guru99.com/test/newtours/).
  • El botón de grabación debe estar APAGADO.
Paso 2: haga clic en la línea en blanco superior del Editor.

Escriba "abrir" en el cuadro de texto Comando y presione Entrar.

Paso 3
  • Navegue Firefox a nuestra URL base y active Firebug
  • En el panel del editor de Selenium IDE, seleccione la segunda línea (la línea debajo del comando "abrir") y cree el segundo comando escribiendo "assertTitle" en el cuadro Comando.
  • No dude en utilizar la función de autocompletar.
Paso 4
  • En Firebug, expanda la etiqueta para mostrar la etiqueta .</li> <li>Haga clic en el valor de la etiqueta <title> (que es "Bienvenido: Mercury Tours") y péguelo en el campo Destino del Editor.</li> </ul> </td> </tr> <tr> <td><strong>Paso 5</strong> <ul> <li>Para crear el tercer comando, haga clic en la tercera línea en blanco en el Editor y escriba "escribir" en el cuadro de texto Comando.</li> <li>En Firebug, haga clic en el botón "Inspeccionar".</li> </ul> </td> </tr> <tr> <td>Haga clic en el cuadro de texto Nombre de usuario. Tenga en cuenta que Firebug le muestra automáticamente el código HTML para ese elemento.</td> </tr> <tr> <td><strong>Paso 6</strong> <p>Observe que el cuadro de texto Nombre de usuario no tiene una ID, pero tiene un atributo NAME. Por lo tanto, usaremos su NOMBRE como localizador. Copie el valor de NOMBRE y péguelo en el campo Destino en Selenium IDE.</p> <p>Aún en el cuadro de texto Destino, prefijo "userName" con "name =", lo que indica que Selenium IDE debe apuntar a un elemento cuyo atributo NAME es "userName".</p> <p>Escriba "invalidUN" en el cuadro de texto Valor de Selenium IDE. Su secuencia de comandos de prueba ahora debería verse como la imagen a continuación. Hemos terminado con el tercer comando. Nota: En lugar de UN inválido, puede ingresar cualquier otra cadena de texto. Pero Selenium IDE distingue entre mayúsculas y minúsculas y usted escribe valores / atributos exactamente como en la aplicación.</p> </td> </tr> <tr> <td><strong>Paso 7</strong> <ul> <li>Para crear el cuarto comando, ingrese "tipo" en el cuadro de texto Comando.</li> <li>Nuevamente, use el botón "Inspeccionar" de Firebug para obtener el localizador del cuadro de texto "Contraseña".</li> </ul> <ul> <li> <p>Pegue el atributo NAME ("contraseña") en el campo Destino y anteponga "name ="</p> </li> <li> <p>Escriba "invalidPW" en el campo Valor en Selenium IDE. Su secuencia de comandos de prueba ahora debería verse como la imagen a continuación.</p> </li> </ul> </td> </tr> <tr> <td><strong>Paso 8</strong> <ul> <li>Para el quinto comando, escriba "clickAndWait" en el cuadro de texto Comando en Selenium IDE.</li> <li>Utilice el botón "Inspeccionar" de Firebug para obtener el localizador del botón "Iniciar sesión".</li> </ul> <ul> <li>Pegue el valor del atributo NAME ("inicio de sesión") en el cuadro de texto Destino y anteponga "name =".</li> <li>Su secuencia de comandos de prueba ahora debería verse como la imagen a continuación.</li> </ul> </td> </tr> </tbody> </table> <p><strong>Paso 9:</strong> Guarde el caso de prueba de la misma manera que lo hicimos en la sección anterior.</p> <a id="menu-6"></a> <h2>Uso del botón Buscar</h2> <p><strong>El botón Buscar en Selenium IDE se usa para verificar si lo que pusimos en el cuadro de texto Destino es de hecho el elemento de interfaz de usuario correcto.</strong></p> <p>Usemos el caso de prueba Invalid_login que creamos en las secciones anteriores. Haga clic en cualquier comando con una entrada de Destino, digamos, el tercer comando.</p> <p>Haga clic en el botón Buscar. Observe que el cuadro de texto Nombre de usuario dentro de la página Mercury Tours se resalta por un segundo.</p> <p>Esto indica que Selenium IDE pudo detectar y acceder correctamente al elemento esperado. Si el botón Buscar resaltó un elemento diferente o ningún elemento en absoluto, entonces debe haber algo mal en su secuencia de comandos.</p> <a id="menu-7"></a> <h2>Ejecutar comando</h2> <p><strong>Esto le permite ejecutar cualquier comando sin ejecutar todo el caso de prueba</strong> . Simplemente haga clic en la línea que desea ejecutar y luego haga clic en "Acciones> Ejecutar este comando" en la barra de menú o simplemente presione "X" en su teclado.</p> <p><strong>Paso 1.</strong> Asegúrese de que su navegador esté en la página de inicio de Mercury Tours. Haga clic en el comando que desea ejecutar. En este ejemplo, haga clic en la línea "type | userName | invalidUN".</p> <p><strong>Paso 2.</strong> Presione "X" en su teclado.</p> <p><strong>Paso 3.</strong> Observe que el cuadro de texto para el nombre de usuario se completa con el texto "invalidUN"</p> <p><strong>La ejecución de comandos de esta manera depende en gran medida de la página que Firefox está mostrando actualmente</strong> . Esto significa que si prueba el ejemplo anterior con la página de inicio de Google mostrada en lugar de la de Mercury Tours, su paso fallará porque no hay un cuadro de texto con un atributo "userName" dentro de la página de inicio de Google.</p> <a id="menu-8"></a> <h2>Punto de partida</h2> <p><strong>Un punto de inicio es un indicador que le dice a Selenium IDE qué líneas comenzará la ejecución</strong> . <strong>Su tecla de método abreviado es "S".</strong></p> <p>En el ejemplo anterior, la reproducción comenzará en la tercera línea (escriba | contraseña | invalidPW). <strong>Solo puede tener un punto de inicio en un único script de prueba.</strong></p> <p>El punto de inicio es similar a Ejecutar comando en el sentido de que dependen de la página que se muestra actualmente. El punto de inicio fallará si está en la página incorrecta.</p> <a id="menu-9"></a> <h2>Puntos de interrupción</h2> <p>Los puntos de interrupción son indicadores que le dicen a Selenium IDE dónde pausar automáticamente la prueba. <strong>La tecla de método abreviado es "B".</strong></p> <p>El resaltado amarillo significa que el paso actual está pendiente. Esto prueba que Selenium IDE ha detenido la ejecución en ese paso. <strong>Puede tener varios puntos de interrupción en un caso de prueba.</strong></p> <a id="menu-10"></a> <h2>Paso</h2> <p>Le permite ejecutar comandos sucesivos uno a la vez después de pausar el caso de prueba. Usemos el escenario de la sección anterior "Puntos de interrupción".</p> <table> <tbody> <tr> <td width="50%"> </td> <td> <p><strong>Antes de hacer clic en "Paso".</strong></p> <p>El caso de prueba se detiene en la línea "clickAndWait | login".</p> </td> </tr> <tr> <td width="50%"> </td> <td> <p><strong>Después de hacer clic en "Paso".</strong></p> <p>La línea "clickAndWait | login" se ejecuta y se detiene en el siguiente comando (verifyTitle | Sign-on: Mercury Tours).</p> <p>Observe que la siguiente línea está en pausa aunque no haya ningún punto de interrupción allí. Este es el propósito principal de la función Paso: ejecuta los comandos siguientes uno a la vez para darle más tiempo para inspeccionar el resultado después de cada paso.</p> </td> </tr> </tbody> </table> <a id="menu-11"></a> <h2>Aspectos importantes a tener en cuenta al utilizar otros formatos en la vista de código fuente</h2> <p><strong>Selenium IDE funciona bien solo con HTML; otros formatos todavía están en modo experimental</strong> . <strong>NO</strong> es <strong>recomendable</strong> crear o editar pruebas usando otros formatos en la vista de código fuente porque todavía se necesita mucho trabajo para que sea estable. A continuación se muestran los errores conocidos a partir de la versión 1.9.1.</p> <ul> <li>No podrá realizar la reproducción ni volver a la vista de tabla a menos que vuelva a HTML.</li> <li>La única forma de agregar comandos de forma segura en el código fuente es registrándolos.</li> <li>Cuando modifica el código fuente manualmente, todo se perderá cuando cambie a otro formato.</li> <li>Aunque puede guardar su caso de prueba mientras está en la Vista de código fuente, Selenium IDE no podrá abrirlo.</li> </ul> <p><strong>La forma recomendada de convertir las pruebas de Selenese es utilizar la opción "Exportar caso de prueba como ..." en el menú Archivo, y no a través de la Vista de origen.</strong></p> <a id="menu-12"></a> <h2>Resumen</h2> <ul> <li>Los scripts de prueba se pueden crear registrando o escribiendo los comandos y parámetros manualmente.</li> <li>Al crear scripts manualmente, se usa Firebug para obtener el localizador.</li> <li>El botón Buscar se utiliza para comprobar que el comando puede acceder al elemento correcto.</li> <li>La Vista de tabla muestra una secuencia de comandos de prueba en forma tabular, mientras que la Vista de origen lo muestra en formato HTML.</li> <li>Cambiar la vista de código fuente a un formato que no sea HTML es todavía experimental.</li> <li>No utilice la vista de código fuente para crear pruebas en otros formatos. En su lugar, utilice las funciones de exportación.</li> <li>Los parámetros no son necesarios todo el tiempo. Depende del comando.</li> <li>Hay tres tipos de comandos:</li> <ul> <li>Acciones: interactúa directamente con los elementos de la página.</li> <li>Accesores: "lee" la propiedad de un elemento y la almacena en una variable.</li> <li>Afirmaciones: compara un valor real con uno esperado.</li> </ul> <li>Las afirmaciones tienen tres tipos:</li> <ul> <li>Afirmar: si falla, los pasos posteriores ya no se ejecutan</li> <li>Verificar: si falla, los pasos siguientes aún se ejecutan.</li> <li>WaitFor: pasa si la condición especificada se cumple dentro del período de tiempo de espera; de lo contrario, fallará</li> </ul> <li>Los comandos más comunes son:</li> <ul> <li>abierto</li> <li>click / clickAndWait</li> <li>type / typeKeys</li> <li>verifyTitle / assertTitle</li> <li>verifyTextPresent</li> <li>verifyElementPresent</li> <li>verifyTable</li> <li>waitForPageToLoad</li> <li>waitForElementPresent</li> </ul> </ul> </div> </article> <div id="container-5533149ee6411a5f99b370c693e87966"></div> </div> </div> </div> </div> </div> <aside class="col-lg-4 sidebar sidebar--right"> <div class="widget widget-popular-posts"> <h2 class="widget-title">Entradas Populares</h2> <ul class="post-list-small"> <li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__img-holder"> <div class="thumb-container thumb-100"><a href="/8223831-how-to-create-financial-statement-version-fsv-in-sap" title="Cómo crear una versión de estado financiero (FSV) en SAP" rel="bookmark"><img src="https://cdn.css-code.org/4026789/how_to_create_financial_statement_version_fsv_in_sap.jpg.webp" loading="lazy" alt="Cómo crear una versión de estado financiero (FSV) en SAP" title="Cómo crear una versión de estado financiero (FSV) en SAP" class="post-list-small__img--rounded" style="width:88px;height:88px" /></a></div> </div> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8223831-how-to-create-financial-statement-version-fsv-in-sap" title="Cómo crear una versión de estado financiero (FSV) en SAP" rel="bookmark">Cómo crear una versión de estado financiero (FSV) en SAP 2025</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__img-holder"> <div class="thumb-container thumb-100"><a href="/8223832-gl-account-in-sap-tutorial-create-display-block-and-delete-fs00" title="Tutorial de cuenta GL en SAP: crear, mostrar, bloquear y amp; Eliminar FS00" rel="bookmark"><img src="https://cdn.css-code.org/5480001/gl_account_in_sap_tutorial_create-_display-_block_ampamp_delete_fs00.png.webp" loading="lazy" alt="Tutorial de cuenta GL en SAP: crear, mostrar, bloquear y amp; Eliminar FS00" title="Tutorial de cuenta GL en SAP: crear, mostrar, bloquear y amp; Eliminar FS00" class="post-list-small__img--rounded" style="width:88px;height:88px" /></a></div> </div> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8223832-gl-account-in-sap-tutorial-create-display-block-and-delete-fs00" title="Tutorial de cuenta GL en SAP: crear, mostrar, bloquear y amp; Eliminar FS00" rel="bookmark">Tutorial de cuenta GL en SAP: crear, mostrar, bloquear y amp; Eliminar FS00 2025</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__img-holder"> <div class="thumb-container thumb-100"><a href="/8223838-how-to-open-and-close-periods-in-posting-period-variant-in-sap" title="Cómo abrir y cerrar períodos en la variante de período contable en SAP" rel="bookmark"><img src="https://cdn.css-code.org/9265791/how_to_open_and_close_periods_in_posting_period_variant_in_sap.png.webp" loading="lazy" alt="Cómo abrir y cerrar períodos en la variante de período contable en SAP" title="Cómo abrir y cerrar períodos en la variante de período contable en SAP" class="post-list-small__img--rounded" style="width:88px;height:88px" /></a></div> </div> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8223838-how-to-open-and-close-periods-in-posting-period-variant-in-sap" title="Cómo abrir y cerrar períodos en la variante de período contable en SAP" rel="bookmark">Cómo abrir y cerrar períodos en la variante de período contable en SAP 2025</a></h3> </div> </div> </li> </ul> </div> <div class="widget widget-popular-posts"> <h2 class="widget-title">Los mejores comentarios de la mes</h2> <ul class="post-list-small"> <li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8223001-soapui-how-to-create-test-suite-and-test-case" title="SoapUI: Cómo crear Test Suite & Caso de prueba" rel="bookmark">SoapUI: Cómo crear Test Suite & Caso de prueba</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8223002-behavior-driven-developmentbdd-testing-a-rest-api-with-behave" title="Desarrollo impulsado por el comportamiento (BDD) Prueba de una API REST con Behave" rel="bookmark">Desarrollo impulsado por el comportamiento (BDD) Prueba de una API REST con Behave</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8223003-15-rest-api-interview-question-and-answers" title="15 Pregunta de la entrevista de Rest API & Respuestas" rel="bookmark">15 Pregunta de la entrevista de Rest API & Respuestas</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8223004-19-best-soapui-alternatives-in-2021" title="19 mejores alternativas de SoapUI en 2021" rel="bookmark">19 mejores alternativas de SoapUI en 2021</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8223005-role-and-responsibilities-of-test-manager-test-lead" title="Rol & Responsabilidades del jefe de pruebas / jefe de pruebas" rel="bookmark">Rol & Responsabilidades del jefe de pruebas / jefe de pruebas</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8223006-test-management-process-a-complete-guide-for-testing-project" title="Proceso de gestión de pruebas: una guía completa para probar el proyecto" rel="bookmark">Proceso de gestión de pruebas: una guía completa para probar el proyecto</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8223007-project-team-develop-building-and-manage-a-step-by-step-process" title="Equipo de proyecto: desarrollo, construcción y amp; Gestionar: un proceso paso a paso" rel="bookmark">Equipo de proyecto: desarrollo, construcción y amp; Gestionar: un proceso paso a paso</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8223008-project-risk-analysis-and-solutions-in-test-management" title="Análisis de riesgos del proyecto y amp; Soluciones en gestión de pruebas" rel="bookmark">Análisis de riesgos del proyecto y amp; Soluciones en gestión de pruebas</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8223009-test-monitoring-and-test-control-during-test-execution-complete-tutorial" title="Monitoreo de prueba & Test Control durante la ejecución de la prueba: tutorial completo" rel="bookmark">Monitoreo de prueba & Test Control durante la ejecución de la prueba: tutorial completo</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8223011-test-summary-reports-tutorial-learn-with-example-and-template" title="Tutorial de informes de resumen de prueba: aprenda con el ejemplo & Plantilla" rel="bookmark">Tutorial de informes de resumen de prueba: aprenda con el ejemplo & Plantilla</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8223012-issue-management-in-your-testing-project" title="Gestión de problemas en su proyecto de prueba" rel="bookmark">Gestión de problemas en su proyecto de prueba</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8223013-software-quality-assurancesqa-plan-audit-and-review" title="Aseguramiento de la calidad del software (SQA): planificación, auditoría y amp; Revisar" rel="bookmark">Aseguramiento de la calidad del software (SQA): planificación, auditoría y amp; Revisar</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8223014-test-process-improvement-tpi-using-pdca-model" title="Mejora del proceso de prueba (TPI) mediante el modelo PDCA" rel="bookmark">Mejora del proceso de prueba (TPI) mediante el modelo PDCA</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8223015-best-25-test-management-tools-mar-2021-update" title="Las 25 mejores herramientas de gestión de pruebas (actualización de marzo de 2021)" rel="bookmark">Las 25 mejores herramientas de gestión de pruebas (actualización de marzo de 2021)</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8223016-top-20-test-managerlead-interview-questions" title="Las 20 preguntas principales de la entrevista del jefe de pruebas / jefe" rel="bookmark">Las 20 preguntas principales de la entrevista del jefe de pruebas / jefe</a></h3> </div> </div> </li> </ul> </div> <div id="container-5533149ee6411a5f99b370c693e87966"></div> <div class="widget widget-popular-posts"> <h2 class="widget-title">Artículos Más Populares</h2> <ul class="post-list-small"> <li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__img-holder"> <div class="thumb-container thumb-100"><a href="/8226461-30-best-devops-automation-tools-and-technologies-2021-list" title="30 MEJORES herramientas de automatización de DevOps y amp; Tecnologías (Lista 2021)" rel="bookmark"><img src="https://cdn.css-code.org/6619254/30_best_devops_automation_tools_ampamp_technologies_2021_list.png.webp" loading="lazy" alt="30 MEJORES herramientas de automatización de DevOps y amp; Tecnologías (Lista 2021)" title="30 MEJORES herramientas de automatización de DevOps y amp; Tecnologías (Lista 2021)" class="post-list-small__img--rounded" style="width:88px;height:88px" /></a></div> </div> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8226461-30-best-devops-automation-tools-and-technologies-2021-list" title="30 MEJORES herramientas de automatización de DevOps y amp; Tecnologías (Lista 2021)" rel="bookmark">30 MEJORES herramientas de automatización de DevOps y amp; Tecnologías (Lista 2021) 2025</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__img-holder"> <div class="thumb-container thumb-100"><a href="/8226462-hbase-installation-on-ubuntu" title="Instalación de HBase en Ubuntu" rel="bookmark"><img src="https://cdn.css-code.org/7426119/hbase_installation_on_ubuntu.png.webp" loading="lazy" alt="Instalación de HBase en Ubuntu" title="Instalación de HBase en Ubuntu" class="post-list-small__img--rounded" style="width:88px;height:88px" /></a></div> </div> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8226462-hbase-installation-on-ubuntu" title="Instalación de HBase en Ubuntu" rel="bookmark">Instalación de HBase en Ubuntu 2025</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__img-holder"> <div class="thumb-container thumb-100"><a href="/8226463-hbase-create-table-with-example" title="HBase Crear tabla con ejemplo" rel="bookmark"><img src="https://cdn.css-code.org/2825132/hbase_create_table_with_example.png.webp" loading="lazy" alt="HBase Crear tabla con ejemplo" title="HBase Crear tabla con ejemplo" class="post-list-small__img--rounded" style="width:88px;height:88px" /></a></div> </div> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8226463-hbase-create-table-with-example" title="HBase Crear tabla con ejemplo" rel="bookmark">HBase Crear tabla con ejemplo 2025</a></h3> </div> </div> </li> </ul> </div> </aside> </div> </div> <footer class="footer footer--dark"> <div class="container"> <div class="footer__widgets"> <div class="row"> <div class="col-lg-4"> <div class="widget"> <h2 class="widget-title">Entradas Populares</h2> <ul class="post-list-small"> <li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8003360-061-custom-header-for-the-forums-part-3" title="# 061: Encabezado personalizado para los foros, Parte 3 - Trucos CSS" rel="bookmark"># 061: Encabezado personalizado para los foros, Parte 3 - Trucos CSS</a></h3> </div> </div> </li><li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8003361-064-implementing-buysellads-zones" title="# 064: Implementación de zonas BuySellAds - Trucos CSS" rel="bookmark"># 064: Implementación de zonas BuySellAds - Trucos CSS</a></h3> </div> </div> </li><li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8003362-065-adding-buysellads-sidebar-ad" title="# 065: Adición de anuncio de barra lateral BuySellAds - Trucos CSS" rel="bookmark"># 065: Adición de anuncio de barra lateral BuySellAds - Trucos CSS</a></h3> </div> </div> </li><li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8003363-070-htmling-the-footer" title="# 070: HTML en el pie de página - Trucos CSS" rel="bookmark"># 070: HTML en el pie de página - Trucos CSS</a></h3> </div> </div> </li><li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8003364-066-photoshopping-the-footer-part-1" title="# 066: Photoshopping del pie de página, parte 1 - Trucos CSS" rel="bookmark"># 066: Photoshopping del pie de página, parte 1 - Trucos CSS</a></h3> </div> </div> </li> </ul> </div> </div> <div class="col-lg-4"> <div class="widget"> <h2 class="widget-title">La Elección Del Editor</h2> <ul class="post-list-small"> <li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8225781-7-best-wayback-machine-internet-archive-alternatives-in-2021" title="7 MEJORES alternativas de Wayback Machine (Internet Archive) en 2021" rel="bookmark">7 MEJORES alternativas de Wayback Machine (Internet Archive) en 2021</a></h3> </div> </div> </li><li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8225782-13-best-clickfunnels-alternatives-in-2021" title="13 MEJORES alternativas de ClickFunnels en 2021" rel="bookmark">13 MEJORES alternativas de ClickFunnels en 2021</a></h3> </div> </div> </li><li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8225783-23-best-url-shortener-of-2021-free-custom-link-service" title="23 Mejor acortador de URL de 2021 (Servicio de enlace personalizado gratuito)" rel="bookmark">23 Mejor acortador de URL de 2021 (Servicio de enlace personalizado gratuito)</a></h3> </div> </div> </li><li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8225784-16-best-website-monitoring-tools-open-source-and-paid-in-2021" title="16 MEJORES herramientas de monitoreo de sitios web (código abierto y pago) en 2021" rel="bookmark">16 MEJORES herramientas de monitoreo de sitios web (código abierto y pago) en 2021</a></h3> </div> </div> </li><li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8225785-10-best-ping-monitoring-tools-and-software-in-2021" title="10 MEJORES herramientas de monitoreo de ping & Software en 2021" rel="bookmark">10 MEJORES herramientas de monitoreo de ping & Software en 2021</a></h3> </div> </div> </li> </ul> </div> </div> <div class="col-lg-4"> <div class="widget"> <h2 class="widget-title">Artículos Más Populares</h2> <ul class="post-list-small"> <li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8225670-how-to-analyze-financial-statements-with-example" title="Cómo analizar estados financieros con ejemplo" rel="bookmark">Cómo analizar estados financieros con ejemplo</a></h3> </div> </div> </li><li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8225671-how-to-make-balance-sheet-with-example" title="Cómo hacer un balance general con un ejemplo" rel="bookmark">Cómo hacer un balance general con un ejemplo</a></h3> </div> </div> </li><li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8225672-20-best-small-business-accounting-software-in-usa-2021" title="20 MEJOR software de contabilidad para pequeñas empresas en EE. UU. (2021)" rel="bookmark">20 MEJOR software de contabilidad para pequeñas empresas en EE. UU. (2021)</a></h3> </div> </div> </li><li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8225673-65-best-accounting-courses-in-2021" title="65 mejores cursos de contabilidad en 2021" rel="bookmark">65 mejores cursos de contabilidad en 2021</a></h3> </div> </div> </li><li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8225675-20-best-free-quickbooks-alternatives-in-2021" title="Las 20 mejores alternativas GRATUITAS de QuickBooks en 2021" rel="bookmark">Las 20 mejores alternativas GRATUITAS de QuickBooks en 2021</a></h3> </div> </div> </li> </ul> </div> </div> </div> <p>© Copyright css-code.org, 2025 Febrero | <a href="https://css-code.org/about-site" title="Acerca del sitio">Acerca del sitio</a> | <a href="https://css-code.org/contacts" title="Contactos">Contactos</a> | <a href="https://css-code.org/privacy-policy" title="Política de privacidad">Política de privacidad</a>. </p> </div> </div> </footer> <link href="https://css-code.org/template/css/style.min.css" rel="preload" as="style" onload="this.onload=null;this.rel='stylesheet'" /> </body> </html>