{"id":1815,"date":"2024-03-17T09:39:40","date_gmt":"2024-03-17T08:39:40","guid":{"rendered":"https:\/\/ittester.sk\/sin-categorizar\/pruebas-basadas-en-datos\/"},"modified":"2024-07-11T09:43:06","modified_gmt":"2024-07-11T07:43:06","slug":"pruebas-basadas-en-datos","status":"publish","type":"post","link":"https:\/\/ittester.sk\/es\/sin-categorizar\/tutorial-testng\/pruebas-basadas-en-datos\/","title":{"rendered":"Pruebas basadas en datos con TestNG y Selenium"},"content":{"rendered":"\n<p>En este texto hablaremos de las pruebas basadas en datos. Nos referiremos a la anotaci\u00f3n @DataProvider en TestNG, que podemos utilizar para pasar datos a los m\u00e9todos de prueba y crear un marco de pruebas basado en datos.<\/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-testovanie-riadene-udajmi\">\u010co je testovanie riaden\u00e9 \u00fadajmi?<\/a><\/li><li><a class=\"aioseo-toc-item\" href=\"#aioseo-testovanie-riadene-udajmi-pomocou-dataprovider\">Testovanie riaden\u00e9 \u00fadajmi pomocou @DataProvider<\/a><ul><li><a class=\"aioseo-toc-item\" href=\"#aioseo-uryvok-kodu-pre-testovanie-riadene-udajmi-v-testng\">\u00daryvok k\u00f3du pre testovanie riaden\u00e9 \u00fadajmi v\u00a0TestNG<\/a><\/li><\/ul><\/li><\/ul><\/div>\n<h2 class=\"wp-block-heading\" id=\"aioseo-co-je-testovanie-riadene-udajmi\">\u00bfQu\u00e9 es la prueba basada en datos?<\/h2>\n\n<p>La prueba basada en datos es una t\u00e9cnica de automatizaci\u00f3n de pruebas en la que los datos de prueba y la l\u00f3gica de prueba est\u00e1n desacoplados. Los datos de prueba impulsan las pruebas al cargarse iterativamente en el script de prueba. Por lo tanto, en lugar de datos de entrada codificados, tenemos datos nuevos cada vez que el script recupera datos de la fuente de datos de prueba.<\/p>\n\n<h2 class=\"wp-block-heading\" id=\"aioseo-testovanie-riadene-udajmi-pomocou-dataprovider\">Pruebas basadas en datos con @DataProvider<\/h2>\n\n<p>TestNG puede realizar pruebas basadas en datos utilizando su anotaci\u00f3n @DataProvider. El m\u00e9todo con la anotaci\u00f3n @DataProvider anterior devuelve una matriz 2D del objeto, donde las filas especifican el n\u00famero de iteraciones y las columnas el n\u00famero de par\u00e1metros de entrada pasados al m\u00e9todo Prueba con cada iteraci\u00f3n.<\/p>\n\n<p>Esta anotaci\u00f3n s\u00f3lo toma como par\u00e1metro el nombre del proveedor de datos, que se utiliza para vincular el proveedor de datos al m\u00e9todo Prueba. Si no se indica ning\u00fan nombre, se tomar\u00e1 el nombre del m\u00e9todo del proveedor de datos como nombre del proveedor de datos.<\/p>\n\n<p><strong>@ProveedorDeDatos(nombre = \u00abnombreDelProveedorDeDatos\u00bb)<\/strong><\/p>\n\n<p><strong>public Object[][] dataProviderMethodName() {<\/strong><\/p>\n\n<p><strong><\/strong><strong>\/\/L\u00f3gica de generaci\u00f3n o obtenci\u00f3n de datos de cualquier fuente externa<\/strong><strong><\/strong><\/p>\n\n<p><strong><\/strong><strong>\/\/devuelve 2d array de objeto<\/strong><\/p>\n\n<p><strong><\/strong><strong>devolver nuevo Objeto[][] {{\u00abk1\u00bb, \u00abr1\u00bb,1},{\u00abk2\u00bb, \u00abr2\u00bb,2}};<\/strong><\/p>\n\n<p><strong>}<\/strong><\/p>\n\n<p>Una vez creado el m\u00e9todo del proveedor de datos, podemos asociar el m\u00e9todo Test al proveedor de datos utilizando el atributo &#8216;dataProvider&#8217; de la anotaci\u00f3n @Test. Para vincular correctamente el Proveedor de datos al m\u00e9todo Prueba, el n\u00famero y el tipo de datos de los par\u00e1metros del m\u00e9todo Prueba deben coincidir con los par\u00e1metros devueltos por el m\u00e9todo Proveedor de datos.<\/p>\n\n<p><strong>@Prueba(dataProvider = \u00abnombreDataProvider\u00bb)<\/strong><\/p>\n\n<p><strong>public void sampleTest(cadena testData1, cadena testData2, int testData3) {<\/strong><\/p>\n\n<p><strong><\/strong><strong>System.out.println(testData1 + \u00bb \u00bb + testData2 + \u00bb \u00bb + testData3);<\/strong><\/p>\n\n<p><strong>}<\/strong><\/p>\n\n<h3 class=\"wp-block-heading\" id=\"aioseo-uryvok-kodu-pre-testovanie-riadene-udajmi-v-testng\">Fragmento de c\u00f3digo para pruebas basadas en datos en TestNG<\/h3>\n\n<p><strong>@DataProvider(nombre = \u00abdataProvider1\u00bb)<\/strong><\/p>\n\n<p><strong>public Object[][] dataProviderMethod1() {<\/strong><\/p>\n\n<p><strong><\/strong><strong>devolver nuevo Objeto[][] {{\u00abk1\u00bb, \u00abr1\u00bb},{\u00abk2\u00bb, \u00abr2\u00bb},{\u00abk3\u00bb, \u00abr3\u00bb}};<\/strong><\/p>\n\n<p><strong>}<\/strong><\/p>\n\n<p><strong>\/\/El caso de prueba se ejecutar\u00e1 3 veces con diferentes conjuntos de valores<\/strong><\/p>\n\n<p><strong>@Prueba(dataProvider = \u00abdataProvider1\u00bb)<\/strong><\/p>\n\n<p><strong>public void muestraPrueba(Cadena cadena1, Cadena cadena2) {<\/strong><\/p>\n\n<p><strong><\/strong><strong>System.out.println(cadena1 + \u00bb \u00bb + cadena2);<\/strong><\/p>\n\n<p><strong>}<\/strong><\/p>\n\n<p>La prueba \u00absampleTest\u00bb anterior se ejecuta 3 veces con diferentes conjuntos de datos de prueba &#8211; {\u00abk1\u00bb, \u00abr1\u00bb},{\u00abk2\u00bb, \u00abr2\u00bb},{\u00abk3\u00bb, \u00abr3\u00bb} recibidos del m\u00e9todo dataProvider1&#8242; dataProvider.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>La prueba basada en datos es una t\u00e9cnica de automatizaci\u00f3n de pruebas en la que se separan los datos de prueba y la l\u00f3gica de prueba.<\/p>\n","protected":false},"author":8,"featured_media":1816,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[36],"tags":[],"class_list":["post-1815","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\/1815","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=1815"}],"version-history":[{"count":1,"href":"https:\/\/ittester.sk\/es\/wp-json\/wp\/v2\/posts\/1815\/revisions"}],"predecessor-version":[{"id":1818,"href":"https:\/\/ittester.sk\/es\/wp-json\/wp\/v2\/posts\/1815\/revisions\/1818"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ittester.sk\/es\/wp-json\/wp\/v2\/media\/1816"}],"wp:attachment":[{"href":"https:\/\/ittester.sk\/es\/wp-json\/wp\/v2\/media?parent=1815"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ittester.sk\/es\/wp-json\/wp\/v2\/categories?post=1815"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ittester.sk\/es\/wp-json\/wp\/v2\/tags?post=1815"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}