{"id":1840,"date":"2024-03-14T18:29:13","date_gmt":"2024-03-14T17:29:13","guid":{"rendered":"https:\/\/ittester.sk\/sin-categorizar\/testng-introduccion\/"},"modified":"2024-07-11T09:43:31","modified_gmt":"2024-07-11T07:43:31","slug":"testng-introduccion","status":"publish","type":"post","link":"https:\/\/ittester.sk\/es\/sin-categorizar\/tutorial-testng\/testng-introduccion\/","title":{"rendered":"Introducci\u00f3n a TestNG"},"content":{"rendered":"\n<p>En este art\u00edculo estudiaremos &#8211; \u00bfQu\u00e9 es TestNG? Es un marco de pruebas muy utilizado. Admite todos los niveles de pruebas, desde pruebas unitarias hasta pruebas funcionales automatizadas. Veremos su uso en las pruebas de Selenio y tambi\u00e9n veremos sus ventajas.<\/p>\n\n<h2 class=\"wp-block-heading\">\u00cdndice<\/h2>\n<div class=\"wp-block-aioseo-table-of-contents\"><ul><li><a class=\"aioseo-toc-item\" href=\"#aioseo-co-je-testng\">\u010co je TestNG?<\/a><\/li><li><a class=\"aioseo-toc-item\" href=\"#aioseo-funkcie-testng\">Funkcie TestNG<\/a><\/li><li><a class=\"aioseo-toc-item\" href=\"#aioseo-vyhody-testng\">V\u00fdhody TestNG<\/a><\/li><li><a class=\"aioseo-toc-item\" href=\"#aioseo-instalacia-testng\">In\u0161tal\u00e1cia TestNG<\/a><\/li><li><a class=\"aioseo-toc-item\" href=\"#aioseo-testng-s-nastavenim-eclipse\">TestNG s nastaven\u00edm Eclipse<\/a><ul><li><a class=\"aioseo-toc-item\" href=\"#aioseo-prostrednictvom-eclipse-marketplace\">Prostredn\u00edctvom Eclipse Marketplace<\/a><\/li><li><a class=\"aioseo-toc-item\" href=\"#aioseo-instalacia-zo-stranky-s-aktualizaciami\">In\u0161tal\u00e1cia zo str\u00e1nky s aktualiz\u00e1ciami<\/a><\/li><\/ul><\/li><\/ul><\/div>\n<h2 class=\"wp-block-heading\" id=\"aioseo-co-je-testng\">\u00bfQu\u00e9 es TestNG?<\/h2>\n\n<p>TestNG es un marco de pruebas inspirado en JUnit. Ofrece varias funciones, como pruebas basadas en datos, soporte de parametrizaci\u00f3n, ejecuci\u00f3n paralela de casos de prueba y agrupaci\u00f3n de casos de prueba, etc. Todas estas funciones ayudan a crear proyectos de prueba robustos y potentes.<\/p>\n\n<p>Podemos convertir f\u00e1cilmente un m\u00e9todo o funci\u00f3n en una prueba a\u00f1adi\u00e9ndole una anotaci\u00f3n: @Prueba. Una prueba sencilla en Java tiene este aspecto:<\/p>\n\n<p><strong>@Prueba<\/strong><\/p>\n\n<p><strong>public void muestraPrueba() {  <\/strong><\/p>\n\n<p><strong>  \/\/Cualquier l\u00f3gica de prueba<\/strong><\/p>\n\n<p><strong>  System.out.println(\u00ab\u00a1Hola! \u00a1Aqu\u00ed ITtester!\u00bb);  <\/strong><\/p>\n\n<p><strong>}<\/strong><\/p>\n\n<p>Ahora, tanto en el caso de una excepci\u00f3n como en el de una aserci\u00f3n fallida, el caso de prueba se marcar\u00e1 como Fallido. De lo contrario, la prueba se marcar\u00e1 como superada.<\/p>\n\n<h2 class=\"wp-block-heading\" id=\"aioseo-funkcie-testng\">Funciones TestNG<\/h2>\n\n<ol class=\"wp-block-list\">\n<li><strong>Diferentes tipos de reclamaciones<\/strong><\/li>\n<\/ol>\n\n<p>Tiene una clase Assert que proporciona m\u00faltiples m\u00e9todos que admiten distintos tipos de afirmaciones. Estas afirmaciones ayudan, por ejemplo, a comprobar la igualdad entre el resultado esperado y el real; a afirmar una condici\u00f3n como Verdadero o Falso; a afirmar si un valor es nulo o no nulo, etc.<\/p>\n\n<ol class=\"wp-block-list\" start=\"2\">\n<li><strong>Ejecuci\u00f3n paralela de pruebas<\/strong><\/li>\n<\/ol>\n\n<p>Utilizando el archivo testNG.xml, podemos ejecutar los casos de prueba en paralelo. Esto ayuda a reducir el tiempo total de ejecuci\u00f3n de la prueba. La ejecuci\u00f3n paralela puede realizarse a varios niveles: a nivel de m\u00e9todo, clase o paquete.<\/p>\n\n<ol class=\"wp-block-list\" start=\"3\">\n<li><strong>Capacidad para hacer pruebas interdependientes<\/strong><\/li>\n<\/ol>\n\n<p>Podemos hacer que la prueba dependa de otras pruebas. Esto puede hacerse utilizando los atributos \u00abdependsOnMethods\u00bb y \u00abdependsOnGroups\u00bb con la anotaci\u00f3n @Test.<\/p>\n\n<ol class=\"wp-block-list\" start=\"4\">\n<li><strong>Priorizaci\u00f3n de pruebas<\/strong><\/li>\n<\/ol>\n\n<p>Mediante esta funci\u00f3n, podemos asignar un valor num\u00e9rico de prioridad a las pruebas. La prioridad por defecto es 0.<\/p>\n\n<ol class=\"wp-block-list\" start=\"5\">\n<li><strong>Agrupaci\u00f3n de pruebas<\/strong><\/li>\n<\/ol>\n\n<p>Admite la agrupaci\u00f3n l\u00f3gica de casos de prueba. Esto permite ejecutar grupos de pruebas en paralelo, realizando determinadas operaciones antes o despu\u00e9s de que se ejecuten las pruebas pertenecientes al grupo.<\/p>\n\n<ol class=\"wp-block-list\" start=\"6\">\n<li><strong>Pruebas basadas en datos<\/strong><\/li>\n<\/ol>\n\n<p>Utilizando @DataProvider, podemos crear pruebas basadas en datos. Utilizando esta anotaci\u00f3n dataProvider, podemos pasar datos de prueba al m\u00e9todo de prueba.<\/p>\n\n<ol class=\"wp-block-list\" start=\"7\">\n<li><strong>Informar<\/strong><\/li>\n<\/ol>\n\n<p>Una vez ejecutada la prueba, se genera un informe HTML que proporciona un resumen tabular de los resultados de la prueba. El formato de informe tambi\u00e9n es configurable por la implementaci\u00f3n del oyente.<\/p>\n\n<ol class=\"wp-block-list\" start=\"8\">\n<li><strong>Parametrizaci\u00f3n<\/strong><\/li>\n<\/ol>\n\n<p>Proporciona soporte inherente para la parametrizaci\u00f3n mediante la anotaci\u00f3n @Parameters. Utilizando la anotaci\u00f3n @Parameters, podemos pasar un valor de par\u00e1metro a la l\u00f3gica de prueba desde el archivo testng.xml.<\/p>\n\n<h2 class=\"wp-block-heading\" id=\"aioseo-vyhody-testng\">Ventajas de TestNG<\/h2>\n\n<ul class=\"wp-block-list\">\n<li>Ayuda a reducir el tiempo total de ejecuci\u00f3n de las pruebas al ofrecer la posibilidad de ejecutarlas en paralelo.<\/li>\n\n\n\n<li>Puede integrarse f\u00e1cilmente con herramientas CICD como Jenkins. Esto puede hacerse utilizando el archivo testNG.xml.<\/li>\n\n\n\n<li>No es necesario codificar los datos. Para ello se pueden utilizar varias anotaciones, como @DataProvider, @Parameter, etc.<\/li>\n\n\n\n<li>Podemos hacer que una prueba dependa de otra. Esto ahorra tiempo al omitir la prueba dependiente si falla la prueba principal.<\/li>\n\n\n\n<li>Al agrupar las pruebas, podemos crear diferentes conjuntos de pruebas, como: sanidad, humo, regresi\u00f3n, etc. Adem\u00e1s, podemos integrar y ejecutar estos conjuntos de pruebas utilizando herramientas CICD como &#8211; Jenkins.<\/li>\n<\/ul>\n\n<h2 class=\"wp-block-heading\" id=\"aioseo-instalacia-testng\">Instalaci\u00f3n de TestNG<\/h2>\n\n<p>TestNG no necesita una instalaci\u00f3n especial. S\u00f3lo tienes que descargar el archivo jar testNG y a\u00f1adirlo como biblioteca o incluirlo mediante maven.<\/p>\n\n<p><strong>&lt;dependencia&gt;<\/strong><\/p>\n\n<p><strong>  &lt;&gt;&lt;groupId org.testng \/groupId&gt;<\/strong><\/p>\n\n<p><strong>  &lt;&gt;&lt;artifactId testng \/artifactId&gt;<\/strong><\/p>\n\n<p><strong>  &lt;&gt;&lt;versi\u00f3n 6.10 \/versi\u00f3n&gt;<\/strong><\/p>\n\n<p><strong>  &lt;&gt;&lt;alcance prueba \/alcance&gt;<\/strong><\/p>\n\n<p><strong>&lt;\/dependency&gt;<\/strong><\/p>\n\n<h2 class=\"wp-block-heading\" id=\"aioseo-testng-s-nastavenim-eclipse\">TestNG con la configuraci\u00f3n de Eclipse<\/h2>\n\n<p>Para integrar TestNG con Eclipse IDE, podemos seguir los siguientes pasos que se indican en &#8211; <a href=\"https:\/\/testng.org\/doc\/download.html\" target=\"_blank\" rel=\"noopener nofollow\" title=\"\">TestNG.org<\/a>. Para ello, podemos utilizar el Mercado Eclipse o la p\u00e1gina de actualizaci\u00f3n.<\/p>\n\n<h3 class=\"wp-block-heading\" id=\"aioseo-prostrednictvom-eclipse-marketplace\">A trav\u00e9s de Eclipse Marketplace<\/h3>\n\n<p>Ve a <a href=\"https:\/\/marketplace.eclipse.org\/content\/testng-eclipse\" target=\"_blank\" rel=\"noopener nofollow\" title=\"\">la p\u00e1gina TestNG del Market Place de Eclipse<\/a> y arrastra el icono \u00abInstalar\u00bb al escritorio.<\/p>\n\n<h3 class=\"wp-block-heading\" id=\"aioseo-instalacia-zo-stranky-s-aktualizaciami\">Instalar desde la p\u00e1gina de actualizaciones<\/h3>\n\n<ol class=\"wp-block-list\">\n<li>Selecciona \u00abAyuda \/ Instalar nuevo software&#8230;\u00bb.<\/li>\n\n\n\n<li>En el campo \u00abTrabajar con:\u00bb, introduce la URL de la p\u00e1gina de actualizaci\u00f3n:<br\/>P\u00e1gina de actualizaci\u00f3n de la liberaci\u00f3n &#8211; https:\/\/dl.bintray.com\/testng-team\/testng-eclipse-release\/.<\/li>\n\n\n\n<li>Marca la casilla junto a la URL.<\/li>\n\n\n\n<li>Pulsa el bot\u00f3n \u00abSiguiente\u00bb.<\/li>\n\n\n\n<li>A continuaci\u00f3n, sigue los pasos de la p\u00e1gina de Eclipse.<\/li>\n<\/ol>\n\n<p>Cuando hayas terminado, crea una prueba de muestra como se indica a continuaci\u00f3n:<\/p>\n\n<p><strong>@Prueba<\/strong><\/p>\n\n<p><strong>public void muestraPrueba() {<\/strong><\/p>\n\n<p><strong>  System.out.println(\u00ab\u00a1Hola Mundo!\u00bb);  <\/strong><\/p>\n\n<p><strong>}<\/strong><\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"620\" height=\"370\" src=\"https:\/\/ittester.sk\/wp-content\/uploads\/2024\/03\/sampletestngtest-java-620-370.webp\" alt=\"\" class=\"wp-image-1199\" srcset=\"https:\/\/ittester.sk\/wp-content\/uploads\/2024\/03\/sampletestngtest-java-620-370.webp 620w, https:\/\/ittester.sk\/wp-content\/uploads\/2024\/03\/sampletestngtest-java-620-370-300x179.webp 300w\" sizes=\"auto, (max-width: 620px) 100vw, 620px\" \/><\/figure>\n<\/div>\n<p>Ahora podemos ejecutar la prueba haciendo clic con el bot\u00f3n derecho en la clase y pulsando \u00abEjecutar como\u00bb. A continuaci\u00f3n, haz clic en \u00abTestNG Test\u00bb. As\u00ed podremos ejecutar los casos de prueba.<\/p>\n\n<p>Como puedes ver, los resultados de la prueba se presentan en forma de Aprobado, Suspenso y Omitido. Entonces significa que nos hemos configurado correctamente.<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"280\" src=\"https:\/\/ittester.sk\/wp-content\/uploads\/2024\/03\/results-of-running-sampletestngtest-1060-290-1024x280.webp\" alt=\"\" class=\"wp-image-1201\" srcset=\"https:\/\/ittester.sk\/wp-content\/uploads\/2024\/03\/results-of-running-sampletestngtest-1060-290-1024x280.webp 1024w, https:\/\/ittester.sk\/wp-content\/uploads\/2024\/03\/results-of-running-sampletestngtest-1060-290-300x82.webp 300w, https:\/\/ittester.sk\/wp-content\/uploads\/2024\/03\/results-of-running-sampletestngtest-1060-290-768x210.webp 768w, https:\/\/ittester.sk\/wp-content\/uploads\/2024\/03\/results-of-running-sampletestngtest-1060-290.webp 1060w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>\u00bfQu\u00e9 es TestNG? Es un marco de pruebas muy utilizado. Admite todos los niveles de pruebas, desde las unitarias hasta las automatizadas y funcionales.  <\/p>\n","protected":false},"author":8,"featured_media":1843,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[36],"tags":[],"class_list":["post-1840","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tutorial-testng"],"acf":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/ittester.sk\/es\/wp-json\/wp\/v2\/posts\/1840","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ittester.sk\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ittester.sk\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ittester.sk\/es\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/ittester.sk\/es\/wp-json\/wp\/v2\/comments?post=1840"}],"version-history":[{"count":2,"href":"https:\/\/ittester.sk\/es\/wp-json\/wp\/v2\/posts\/1840\/revisions"}],"predecessor-version":[{"id":2243,"href":"https:\/\/ittester.sk\/es\/wp-json\/wp\/v2\/posts\/1840\/revisions\/2243"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ittester.sk\/es\/wp-json\/wp\/v2\/media\/1843"}],"wp:attachment":[{"href":"https:\/\/ittester.sk\/es\/wp-json\/wp\/v2\/media?parent=1840"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ittester.sk\/es\/wp-json\/wp\/v2\/categories?post=1840"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ittester.sk\/es\/wp-json\/wp\/v2\/tags?post=1840"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}