{"id":696,"date":"2023-11-24T15:04:21","date_gmt":"2023-11-24T14:04:21","guid":{"rendered":"https:\/\/ittester.sk\/automatisiertes-testen\/lokalisierer-in-selenium-webdriver\/"},"modified":"2024-06-05T12:01:49","modified_gmt":"2024-06-05T10:01:49","slug":"locators-in-selenium-webdriver","status":"publish","type":"post","link":"https:\/\/ittester.sk\/de\/automatisiertes-testen\/selenium-tutorial-de\/locators-in-selenium-webdriver\/","title":{"rendered":"Lokalisierer in Selenium WebDriver"},"content":{"rendered":"\n<p>In diesem Artikel werden wir unser <a href=\"https:\/\/ittester.sk\/de\/automatisiertes-testen\/selenium-tutorial-de\/selenium-tutorial\/\">Selenium-Tutorial<\/a> fortsetzen und die verschiedenen Arten von Locators untersuchen, die in Selenium verf\u00fcgbar sind. Bevor wir uns mit Ortungsger\u00e4ten befassen, sollten wir zun\u00e4chst die Notwendigkeit von Ortungsger\u00e4ten im Automatisierungsprozess pr\u00fcfen.<\/p>\n\n<p>Einen einfachen Automatisierungsprozess in Selenium kann man sich wie folgt vorstellen:<\/p>\n\n<ul class=\"wp-block-list\">\n<li>Starten Sie den Browser.<\/li>\n\n\n\n<li>\u00d6ffnen Sie die gew\u00fcnschte Webseite, die automatisiert werden soll.<\/li>\n\n\n\n<li>Lokalisierung von Web-Elementen wie z. B. Textfeldern.<\/li>\n\n\n\n<li>F\u00fchren Sie Operationen an Webelementen durch, z. B. das Schreiben in ein Textfeld.<\/li>\n\n\n\n<li>Behauptungen wie die &#8222;Erfolgsmeldung&#8220;.<\/li>\n<\/ul>\n\n<p>Sehen wir uns ein Codebeispiel an, das den obigen Prozess implementiert. Wir werden die einzelnen Codezeilen im folgenden Text untersuchen.<\/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-ukazka-kodu-pre-lokatory-v-selenium-webdriver\">Uk\u00e1\u017eka k\u00f3du pre lok\u00e1tory v Selenium WebDriver<\/a><\/li><li><a class=\"aioseo-toc-item\" href=\"#aioseo-pouzitie-nastroja-developer-tool\">Pou\u017eitie n\u00e1stroja Developer Tool<\/a><\/li><li><a class=\"aioseo-toc-item\" href=\"#aioseo-lokatory-selenium\">Lok\u00e1tory Selenium<\/a><\/li><\/ul><\/div>\n<h2 class=\"wp-block-heading\" id=\"aioseo-ukazka-kodu-pre-lokatory-v-selenium-webdriver\">Beispielcode f\u00fcr Locatoren in Selenium WebDriver<\/h2>\n\n<p><strong>\/\/Start des Firefox-Browsers<\/strong><\/p>\n\n<p><strong>WebDriver driver = new FirefoxDriver();<\/strong><\/p>\n\n<p><strong>\/\/\u00d6ffnen von google.com<\/strong><\/p>\n\n<p><strong>driver.get(&#8222;http:\/\/www.google.com&#8220;);<\/strong><\/p>\n\n<p><strong>\/\/Initialisierung des Webelements searchBox<\/strong><\/p>\n\n<p><strong>WebElement searchBox = driver.findElement(By.name(&#8222;q&#8220;));<\/strong><\/p>\n\n<p><strong>\/\/Schreiben eines Textes &#8222;ITtester&#8220; in das Suchfeld<\/strong><\/p>\n\n<p><strong>searchBox.sendKeys(&#8222;ITtester&#8220;);<\/strong><\/p>\n\n<p>Hier sehen wir also, dass wir, wenn wir eine Operation an einem Web-Element &#8211; searchBox &#8211; durchf\u00fchren wollen, dieses zuerst lokalisieren m\u00fcssen. Hier ist der By.name(&#8222;q&#8220;) locator, der bei \u00dcbergabe an die findElement-Methode ein searchBox-Web-Element zur\u00fcckgibt.<\/p>\n\n<p>Bevor wir die verschiedenen Arten von Locators, die in Selenium zur Verf\u00fcgung stehen, weiter er\u00f6rtern, wollen wir uns zun\u00e4chst ansehen, wie man die verschiedenen Elementattribute erh\u00e4lt, die in Locators verwendet werden.<\/p>\n\n<h2 class=\"wp-block-heading\" id=\"aioseo-pouzitie-nastroja-developer-tool\">Verwendung des Entwickler-Tools<\/h2>\n\n<p>Die Lokalisierung von Webelementen erfordert die Kenntnis ihrer HTML-Attribute. Wir k\u00f6nnen das eingebaute Entwickler-Tool verwenden, um den HTML-Quellcode bestimmter Elemente abzurufen (durch Dr\u00fccken von f12 im Browser oder Umschalt+Strg+I).<\/p>\n\n<p>Schritte, um die Attribute eines HTML-Elements zu finden:<\/p>\n\n<ul class=\"wp-block-list\">\n<li>Starten Sie die zu automatisierende Webseite, z. B. https:\/\/www.google.com<\/li>\n\n\n\n<li>Dr\u00fccken Sie F12 (oder Umschalt+Strg+I), um das Entwickler-Tool zu starten.<\/li>\n\n\n\n<li>Klicken Sie auf das Symbol &#8222;Element inspizieren&#8220;, wie in der Abbildung unten dargestellt.<\/li>\n<\/ul>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1500\" height=\"630\" src=\"https:\/\/ittester.sk\/wp-content\/uploads\/2023\/11\/developer-tool-1500-630-1.webp\" alt=\"Screenshot des ge&#xF6;ffneten Entwickler-Tools im Browser\" class=\"wp-image-688\" srcset=\"https:\/\/ittester.sk\/wp-content\/uploads\/2023\/11\/developer-tool-1500-630-1.webp 1500w, https:\/\/ittester.sk\/wp-content\/uploads\/2023\/11\/developer-tool-1500-630-1-300x126.webp 300w, https:\/\/ittester.sk\/wp-content\/uploads\/2023\/11\/developer-tool-1500-630-1-1024x430.webp 1024w, https:\/\/ittester.sk\/wp-content\/uploads\/2023\/11\/developer-tool-1500-630-1-768x323.webp 768w\" sizes=\"auto, (max-width: 1500px) 100vw, 1500px\" \/><figcaption class=\"wp-element-caption\">Das Developer Tool ist ein effizientes und praktisches Werkzeug zum Reparieren oder \u00dcberpr\u00fcfen von Webelementen.\n\n<\/figcaption><\/figure>\n<\/div>\n<p>Klicken Sie nach dem Klick auf das Symbol &#8222;Element inspizieren&#8220; auf das Webelement, das Sie lokalisieren m\u00f6chten, z. B. Google-Suchfeld. Wenn Sie auf ein Element klicken, wird sein HTML-Code in der Firebug-Benutzeroberfl\u00e4che angezeigt.<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"389\" src=\"https:\/\/ittester.sk\/wp-content\/uploads\/2023\/11\/hover-na-webovom-prvku-1500-570-1024x389.webp\" alt=\"Screenshot des im Browser ge&#xF6;ffneten Developer Tools\" class=\"wp-image-690\" srcset=\"https:\/\/ittester.sk\/wp-content\/uploads\/2023\/11\/hover-na-webovom-prvku-1500-570-1024x389.webp 1024w, https:\/\/ittester.sk\/wp-content\/uploads\/2023\/11\/hover-na-webovom-prvku-1500-570-300x114.webp 300w, https:\/\/ittester.sk\/wp-content\/uploads\/2023\/11\/hover-na-webovom-prvku-1500-570-768x292.webp 768w, https:\/\/ittester.sk\/wp-content\/uploads\/2023\/11\/hover-na-webovom-prvku-1500-570.webp 1500w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Die einfache Oberfl\u00e4che des Developer Tools zeigt Ihnen wichtige Attribute und Werte an.<\/figcaption><\/figure>\n<\/div>\n<p>Hier sehen wir verschiedene Attribute von Webelementen wie id, type, role usw. zusammen mit ihren Tags wie input, div usw. Wir werden nun diese Tags, Attribute und Werte verwenden, um mit verschiedenen Locators nach Elementen zu suchen.<\/p>\n\n<h2 class=\"wp-block-heading\" id=\"aioseo-lokatory-selenium\">Selen-Ortungsger\u00e4te<\/h2>\n\n<p>Es gibt insgesamt 8 Locators in Selenium WebDriver:<\/p>\n\n<ol class=\"wp-block-list\">\n<li><strong>Nach Id &#8211; Lokalisiert das Element anhand des id-Attributs des Web-Elements.<\/strong><\/li>\n<\/ol>\n\n<p>WebElement element = driver.findElement(By.id(&#8222;elementId&#8220;));<\/p>\n\n<ol class=\"wp-block-list\" start=\"2\">\n<li><strong>Nach Klassenname &#8211; ruft das Webelement anhand des Attributs Klassenname ab.<\/strong><\/li>\n<\/ol>\n\n<p>WebElement element = driver.findElement(By.className(&#8222;objectClass&#8220;));<\/p>\n\n<ol class=\"wp-block-list\" start=\"3\">\n<li><strong>Nach TagName &#8211; Sucht nach einem Web-Element anhand seines HTML-Tags, z. B. div, a, input usw.<\/strong><\/li>\n<\/ol>\n\n<p>WebElement element = driver.findElement(By.tagName(&#8222;a&#8220;));<\/p>\n\n<ol class=\"wp-block-list\" start=\"4\">\n<li><strong>Nach Name &#8211; sucht nach einem Webelement anhand des Namensattributs.<\/strong><\/li>\n<\/ol>\n\n<p>WebElement element = driver.findElement(By.name(&#8222;male&#8220;));<\/p>\n\n<ol class=\"wp-block-list\" start=\"5\">\n<li><strong>By linkText &#8211; Sucht nach einem Webelement vom Typ Link anhand seines Textes.<\/strong><\/li>\n<\/ol>\n\n<p>WebElement element = driver.findElement(By.linkText(&#8222;Hier klicken&#8220;));<\/p>\n\n<ol class=\"wp-block-list\" start=\"6\">\n<li><strong>By partialLinkText &#8211; Sucht nach einem Web-Element des Link-Typs mit einer partiellen Text\u00fcbereinstimmung.<\/strong><\/li>\n<\/ol>\n\n<p>WebElement element = driver.findElement(By.partialLinkText(&#8222;Click&#8220;));<\/p>\n\n<ol class=\"wp-block-list\" start=\"7\">\n<li><strong>By cssSelector &#8211; Sucht nach einem Web-Element mit CSS.<\/strong><\/li>\n<\/ol>\n\n<p>WebElement element = driver.findElement(By.cssSelector(&#8222;div#id&#8220;));<\/p>\n\n<ol class=\"wp-block-list\" start=\"8\">\n<li><strong>Nach XPath &#8211; Sucht nach einem Webelement anhand seines XPaths.<\/strong><\/li>\n<\/ol>\n\n<p>WebElement element = driver.findElement(By.xpath(&#8222;\/\/div[@id=&#8217;id&#8216;]&#8220;));<\/p>\n\n<p>Sie haben nun erfolgreich gelernt, wie Sie Elemente in Selenium finden k\u00f6nnen. Wie Sie sehen k\u00f6nnen, ist das Auffinden von Elementen nach id, className, tagName, name, linkText und partialLinkText einfach.<\/p>\n\n<p>Wir m\u00fcssen nur den richtigen Locator auf der Grundlage der Einzigartigkeit des Elements ausw\u00e4hlen, z. B. Wir bevorzugen die Verwendung von IDs, da Element-IDs im Allgemeinen eindeutig sind. Es kann jedoch Szenarien geben, in denen wir nicht \u00fcber die id-Attribute des Web-Elements verf\u00fcgen und auch andere Locatoren, wie name und className, das angeforderte Web-Element nicht eindeutig abrufen k\u00f6nnen. In solchen F\u00e4llen sollten wir CSS-Selektoren und XPath-Locators verwenden.<\/p>\n\n<p>Diese Locators sind sehr leistungsf\u00e4hig und helfen bei der Erstellung robuster Locators f\u00fcr komplexe Webelemente.  <\/p>\n","protected":false},"excerpt":{"rendered":"<p>In diesem Tutorial erfahren Sie mehr \u00fcber die Notwendigkeit von Locators im Automatisierungsprozess und die verschiedenen Arten von Locators, die in Selenium verf\u00fcgbar sind.<\/p>\n","protected":false},"author":8,"featured_media":1490,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[16],"tags":[],"class_list":["post-696","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-selenium-tutorial-de"],"acf":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/ittester.sk\/de\/wp-json\/wp\/v2\/posts\/696","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=696"}],"version-history":[{"count":2,"href":"https:\/\/ittester.sk\/de\/wp-json\/wp\/v2\/posts\/696\/revisions"}],"predecessor-version":[{"id":1492,"href":"https:\/\/ittester.sk\/de\/wp-json\/wp\/v2\/posts\/696\/revisions\/1492"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ittester.sk\/de\/wp-json\/wp\/v2\/media\/1490"}],"wp:attachment":[{"href":"https:\/\/ittester.sk\/de\/wp-json\/wp\/v2\/media?parent=696"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ittester.sk\/de\/wp-json\/wp\/v2\/categories?post=696"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ittester.sk\/de\/wp-json\/wp\/v2\/tags?post=696"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}