Heim >Backend-Entwicklung >Python-Tutorial >Webautomatisiertes Testen (3) Selenium+beatuifulsoup
Bezüglich der automatisierten Tests von Selenium und der Verwendung von Funktionen gibt es zu viele grundlegende Tutorials im Internet. Ich werde sie hier nicht alle auflisten. Sie können auf andere Tutorials oder offizielle Websites verweisen. In diesem Artikel werden hauptsächlich das Lösungsdesign von Web-Automatisierungstests und die Schwierigkeiten erörtert, die der Herausgeber persönlich denkt.
Wie unten gezeigt, basierend auf unserem Hintergrund-Framework für automatisierte Tests (dieses Bild zeigt einen Teil der Weberweiterungsarchitektur, andere Teile (Vertraulich für das Unternehmen und nicht im Bild dargestellt) wurde Selenium erweitert. Basierend auf Selenium wurde die Einstellung von Seitenobjekten erweitert und ein Mechanismus zur Verzögerung der Wiederholungsverzögerung eingeführt, um die Erfolgsquote bei der Einstellung zu verbessern. Das Seitenaktionsmodul implementiert Seitenaktionen einheitlich und stellt so die Unabhängigkeit jeder Seitenaktion sicher. Wenn Sie in späteren Versionen unterschiedliche Kombinationen von Ausführungsschritten hinzufügen müssen, müssen Sie nur die darin enthaltenen Funktionen aufrufen.
Das Datenerfassungsmodul ist in drei Schichten unterteilt, nämlich das Datenbankdatenerfassungsmodul, das Seitendatenerfassungsmodul und das Webanwendungsprotokolldatenerfassungsmodul. Auf diese Weise ist es einfach, die verschiedenen Teammitglieder zu organisieren und jeder kann das Modul, das er am besten beherrscht, schnell umsetzen und integrieren.
Eine große Nachfragequelle für automatisierte Webtests sind Browserkompatibilitätstests. Daher muss beim Framework-Design berücksichtigt werden, wie mehrere Browser gleichzeitig getestet werden. Der Plan des Bloggers besteht darin, den Testfallsatz in jede Browserinstanz einzufügen und sie nacheinander nacheinander auszuführen.
Definition und Analyse von Seitenelementen
Die Positionierung von Seitenelementen war schon immer eine Schwierigkeit bei Web-Automatisierungstests, da viele Unternehmen die Web-Seitenelemente nicht mehr verwenden Der von Entwicklern implementierte Code ist nicht standardisiert. Trotzdem sollte jeder bei der Implementierung automatisierter Tests versuchen, die Verwendung von CSS und XPath zum Definieren zu vermeiden, da die Lesbarkeit und Wartbarkeit zu schlecht sind. Versuchen Sie, zum Definieren ID, Name und Klassennamen zu verwenden. Versuchen Sie entsprechend einigen Elementen ohne ID, Name und Klassenname, find_elements_by_tag_name zu verwenden und dann seine Attribute zu analysieren, um das Element zu finden, oder verwenden Sie find_element_by_xpath("..), find_element_by_xpath("../.."), um das übergeordnete Element zu finden oder übergeordnetes Element.
Beatuifulsoap zum Parsen verwenden
Beatuifulsoap wird von vielen Crawlern aufgrund seiner leistungsstarken Parsing-Funktion verwendet. In der Lösung heißt es, wenn Die Crawler-Funktionen sind alle Es kann sicherlich alle Anforderungen automatisierter Tests erfüllen. Der Blogger kombiniert find_element_by_xx(table_id).get_attribute('innerHTML') und beatuifusoup. In den aktuellen Projekten gibt es fast keine Elemente, die nicht analysiert und lokalisiert werden können. Verwenden Sie beispielsweise zunächst den Fuzzy-Abgleich von beatuifulsoap. Indem Sie dann andere Attribute analysieren, um die ID oder den Namen zu finden, und dann find_element_by_xx aufrufen, können Sie eine perfekte Positionierungslösung erreichen. Mama muss sich keine Sorgen mehr machen, dass Entwickler keine ID oder keinen Namenswert schreiben
[Empfohlener Kurs: Python-Video-Tutorial]
Das obige ist der detaillierte Inhalt vonWebautomatisiertes Testen (3) Selenium+beatuifulsoup. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!