Wie verwende ich Selenium-Tests in Python?

WBOY
Freigeben: 2023-06-04 08:22:29
Original
829 Leute haben es durchsucht

Wie verwende ich Selenium-Tests in Python?

Da sich Webanwendungen ständig weiterentwickeln, werden automatisierte Tests in der Softwareentwicklung immer wichtiger. Selenium ist ein beliebtes automatisiertes Testtool, das Benutzerinteraktionen mit Webanwendungen für automatisierte Tests simulieren kann. Als Programmiersprache, die leicht zu erlernen und zu implementieren ist, wird Python natürlich häufig in den automatisierten Tests von Selenium verwendet.

In diesem Artikel wird erläutert, wie Sie Selenium in Python für automatisierte Tests verwenden. Zunächst müssen wir die grundlegenden Konzepte und Komponenten von Selen verstehen.

Selenium-Einführung

Selenium ist ein automatisiertes Testframework für das Testen von Webanwendungen. Es implementiert Tests durch die Simulation von Benutzervorgängen im Browser. Selenium unterstützt mehrere Browser, darunter Chrome, Firefox, Safari und mehr. Selenium besteht aus mehreren Komponenten, darunter Selenium IDE, Selenium WebDriver, Selenium Grid usw.

Selenium IDE ist ein Browser-Plug-in zur Aufzeichnung und Wiedergabe von Benutzeraktionssequenzen.

Selenium WebDriver ist eine Kernkomponente von Selenium, die eine API bereitstellt, die es Entwicklern ermöglicht, das Testen von Webanwendungen zu automatisieren, indem sie Testskripte in einer Programmiersprache schreiben. Derzeit unterstützt Selenium WebDriver mehrere Programmiersprachen, darunter Java, Python, JavaScript usw.

Selenium Grid ist ein verteiltes Testframework, das die Ausführung von Testskripten auf mehreren Maschinen ermöglicht und so die parallele Ausführung von Tests ermöglicht.

Selenium- und Browser-Treiber installieren

Bevor wir Python für Selenium-Tests verwenden, müssen wir zuerst Selenium- und Browser-Treiber installieren. Zuerst installieren wir Selenium. Selenium kann mit dem folgenden Befehl in einer Python-Umgebung installiert werden:

pip install selenium
Nach dem Login kopieren

Als nächstes müssen wir den Browsertreiber herunterladen und installieren. Hier nehmen wir den Chrome-Browser als Beispiel. Zunächst müssen Sie die entsprechende Version von ChromeDriver von der ChromeDriver-Downloadseite https://sites.google.com/a/chromium.org/chromedriver/downloads herunterladen. Stellen Sie sicher, dass die von Ihnen heruntergeladene Version mit der von Ihnen installierten Chrome-Version übereinstimmt. Nachdem der Download abgeschlossen ist, entpacken Sie den heruntergeladenen ChromeDriver in ein Verzeichnis und fügen Sie dieses Verzeichnis der Umgebungsvariablen PATH hinzu.

Selenium-Testskript schreiben

Als nächstes können wir mit dem Schreiben eines Selenium-Testskripts beginnen. Hier ist ein einfaches Beispiel, das eine Google-Suchseite öffnet und nach dem Schlüsselwort „Selenium“ sucht.

from selenium import webdriver

# 启动 Chrome 浏览器
driver = webdriver.Chrome()

# 打开 Google 搜索页面
driver.get("http://www.google.com")

# 查找搜索框元素,并输入关键字
search_box = driver.find_element_by_name("q")
search_box.send_keys("Selenium")

# 提交搜索请求
search_box.submit()

# 关闭浏览器
driver.quit()
Nach dem Login kopieren

Zuerst haben wir das Webdriver-Modul von Selenium importiert und eine Chrome-Browserinstanz erstellt. Anschließend wurde die Google-Suchseite mit der Methode get() geöffnet. Als nächstes suchten wir nach dem Suchfeldelement und gaben mithilfe der Methode send_keys() das Suchwort „Selenium“ ein. Abschließend wird die Suchanfrage mit der Methode „submit()“ übermittelt und die Browserinstanz durch Aufruf der Methode „quit()“ geschlossen.

Assertion-Testergebnisse

Bei automatisierten Tests müssen wir prüfen, ob die Testergebnisse korrekt sind. Selenium bietet mehrere Möglichkeiten zur Bestätigung von Testergebnissen. Hier ist ein Beispiel, das nach dem Schlüsselwort „Selenium“ sucht und prüft, ob die Suchergebnisseite den Link „Selenium – Web Browser Automation“ enthält.

from selenium import webdriver
import unittest

class GoogleSearchTest(unittest.TestCase):
    def setUp(self):
        self.driver = webdriver.Chrome()
        self.driver.get("http://www.google.com")

    def test_search(self):
        search_box = self.driver.find_element_by_name("q")
        search_box.send_keys("Selenium")
        search_box.submit()
        self.assertIn("Selenium - Web Browser Automation", self.driver.page_source)

    def tearDown(self):
        self.driver.quit()

if __name__ == "__main__":
    unittest.main()
Nach dem Login kopieren

Dieses Testskript verwendet das Unittest-Modul von Python und enthält eine Testklasse namens GoogleSearchTest, die über drei Methoden verfügt: setUp(), test_search() und TearDown(). Die Methode

setUp() wird vor Beginn jedes Testfalls ausgeführt. Sie erstellt eine Chrome-Browserinstanz und öffnet die Google-Suchseite.

test_search() Methode sucht nach dem Schlüsselwort „Selenium“ und prüft, ob die Suchergebnisseite den Link „Selenium – Web Browser Automation“ enthält. Hier verwenden wir die Methode „asserIn()“ von Python, um festzustellen, ob der Quellcode der Seite den angegebenen Text enthält.

tearDown()-Methode wird nach der Ausführung jedes Testfalls ausgeführt. Sie ruft die quit()-Methode auf, um die Browserinstanz zu schließen.

Schließlich haben wir die Methode unittest.main() verwendet, um das Testskript auszuführen.

Fazit

In diesem Artikel haben wir vorgestellt, wie man Selenium in Python für automatisierte Tests verwendet. Durch das Schreiben von Testskripten können wir Selenium verwenden, um Benutzeraktionen im Browser zu simulieren, um Webanwendungen zu testen. Selenium unterstützt mehrere Browser und Programmiersprachen und ist flexibel und kompatibel, was es ideal für automatisierte Tests macht.

Das obige ist der detaillierte Inhalt vonWie verwende ich Selenium-Tests in Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage