{"id":1230,"date":"2024-03-17T09:39:40","date_gmt":"2024-03-17T08:39:40","guid":{"rendered":"https:\/\/ittester.sk\/automatisiertes-testen\/datengesteuertes-testen-testen\/"},"modified":"2024-07-11T09:43:06","modified_gmt":"2024-07-11T07:43:06","slug":"datengesteuertes-testen-testen","status":"publish","type":"post","link":"https:\/\/ittester.sk\/de\/automatisiertes-testen\/testng-anleitung\/datengesteuertes-testen-testen\/","title":{"rendered":"Datengesteuertes Testen mit TestNG und Selenium"},"content":{"rendered":"\n<p>In diesem Text werden wir datengesteuerte Tests besprechen. Wir werden uns auf die @DataProvider-Annotation in TestNG beziehen, die wir verwenden k\u00f6nnen, um Daten an Testmethoden zu \u00fcbergeben und einen datengesteuerten Testrahmen zu erstellen.<\/p>\n\n<h2 class=\"wp-block-heading\">Inhalts\u00fcbersicht<\/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\">Was ist datengesteuertes Testen?<\/h2>\n\n<p>Datengetriebenes Testen ist eine Testautomatisierungstechnik, bei der Testdaten und Testlogik entkoppelt sind. Die Testdaten steuern die Tests, indem sie iterativ in das Testskript geladen werden. Anstelle von fest kodierten Eingabedaten haben wir also jedes Mal neue Daten, wenn das Skript Daten aus der Testdatenquelle abruft.<\/p>\n\n<h2 class=\"wp-block-heading\" id=\"aioseo-testovanie-riadene-udajmi-pomocou-dataprovider\">Datengesteuertes Testen mit @DataProvider<\/h2>\n\n<p>Datengesteuerte Tests k\u00f6nnen von TestNG unter Verwendung der @DataProvider-Annotation durchgef\u00fchrt werden. Die Methode mit der obigen @DataProvider-Annotation gibt ein 2D-Array des Objekts zur\u00fcck, wobei die Zeilen die Anzahl der Iterationen und die Spalten die Anzahl der Eingabeparameter angeben, die bei jeder Iteration an die Testmethode \u00fcbergeben werden.<\/p>\n\n<p>Diese Anmerkung nimmt nur den Namen des Datenanbieters als Parameter entgegen, der verwendet wird, um den Datenanbieter mit der Testmethode zu verkn\u00fcpfen. Wird kein Name angegeben, so gilt der Name der Methode des Datenlieferanten als Name des Datenlieferanten.<\/p>\n\n<p><strong>@DataProvider(name = &#8222;nameOfDataProvider&#8220;)<\/strong><\/p>\n\n<p><strong>public Object[][] dataProviderMethodName() {<\/strong><\/p>\n\n<p><strong><\/strong><strong>\/\/Datengenerierung oder -abruflogik aus einer beliebigen externen Quelle<\/strong><strong><\/strong><\/p>\n\n<p><strong><\/strong><strong>\/\/R\u00fcckgabe eines 2d-Arrays von Objekten<\/strong><\/p>\n\n<p><strong><\/strong><strong>return new Object[][] {{&#8222;k1&#8220;, &#8222;r1&#8220;,1},{&#8222;k2&#8220;, &#8222;r2&#8220;,2}};<\/strong><\/p>\n\n<p><strong>}<\/strong><\/p>\n\n<p>Sobald die Methode des Datenanbieters erstellt ist, k\u00f6nnen wir die Testmethode mit dem Datenanbieter verkn\u00fcpfen, indem wir das Attribut &#8222;dataProvider&#8220; der @Test-Annotation verwenden. Um die DataProvider-Methode erfolgreich mit der Test-Methode zu verkn\u00fcpfen, m\u00fcssen die Anzahl und der Datentyp der Parameter der Test-Methode mit den von der DataProvider-Methode zur\u00fcckgegebenen Parametern \u00fcbereinstimmen.<\/p>\n\n<p><strong>@Test(dataProvider = &#8222;nameOfDataProvider&#8220;)<\/strong><\/p>\n\n<p><strong>public void sampleTest(String testData1, String testData2, int testData3) {<\/strong><\/p>\n\n<p><strong><\/strong><strong>System.out.println(testData1 + &#8220; &#8220; + testData2 + &#8220; &#8220; + 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\">Codeschnipsel f\u00fcr datengesteuerte Tests in TestNG<\/h3>\n\n<p><strong>@DataProvider(name = &#8222;dataProvider1&#8220;)<\/strong><\/p>\n\n<p><strong>public Object[][] dataProviderMethod1() {<\/strong><\/p>\n\n<p><strong><\/strong><strong>return new Object[][] {{&#8222;k1&#8220;, &#8222;r1&#8220;},{&#8222;k2&#8220;, &#8222;r2&#8220;},{&#8222;k3&#8220;, &#8222;r3&#8220;}};<\/strong><\/p>\n\n<p><strong>}<\/strong><\/p>\n\n<p><strong>\/\/Der Testfall wird 3 Mal mit verschiedenen Werten ausgef\u00fchrt<\/strong><\/p>\n\n<p><strong>@Test(dataProvider = &#8222;dataProvider1&#8220;)<\/strong><\/p>\n\n<p><strong>public void sampleTest(String str1, String str2) {<\/strong><\/p>\n\n<p><strong><\/strong><strong>System.out.println(str1 + &#8220; &#8220; + str2);<\/strong><\/p>\n\n<p><strong>}<\/strong><\/p>\n\n<p>Der obige &#8222;sampleTest&#8220;-Test wird dreimal mit verschiedenen Testdatens\u00e4tzen ausgef\u00fchrt &#8211; {&#8222;k1&#8220;, &#8222;r1&#8220;},{&#8222;k2&#8220;, &#8222;r2&#8220;},{&#8222;k3&#8220;, &#8222;r3&#8220;}, die von der dataProvider1-Methode dataProvider empfangen wurden.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Datengetriebenes Testen ist eine Testautomatisierungstechnik, bei der Testdaten und Testlogik getrennt werden.<\/p>\n","protected":false},"author":8,"featured_media":1556,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[25],"tags":[],"class_list":["post-1230","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-testng-anleitung"],"acf":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/ittester.sk\/de\/wp-json\/wp\/v2\/posts\/1230","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ittester.sk\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ittester.sk\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ittester.sk\/de\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/ittester.sk\/de\/wp-json\/wp\/v2\/comments?post=1230"}],"version-history":[{"count":2,"href":"https:\/\/ittester.sk\/de\/wp-json\/wp\/v2\/posts\/1230\/revisions"}],"predecessor-version":[{"id":1558,"href":"https:\/\/ittester.sk\/de\/wp-json\/wp\/v2\/posts\/1230\/revisions\/1558"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ittester.sk\/de\/wp-json\/wp\/v2\/media\/1556"}],"wp:attachment":[{"href":"https:\/\/ittester.sk\/de\/wp-json\/wp\/v2\/media?parent=1230"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ittester.sk\/de\/wp-json\/wp\/v2\/categories?post=1230"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ittester.sk\/de\/wp-json\/wp\/v2\/tags?post=1230"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}