Heim > Backend-Entwicklung > Python-Tutorial > Automatisiertes Testen von Webanwendungen mit Python

Automatisiertes Testen von Webanwendungen mit Python

WBOY
Freigeben: 2023-06-17 14:12:43
Original
1450 Leute haben es durchsucht

In der modernen Softwareentwicklung sind Unit-Tests und Integrationstests zum Standard geworden, diese Tests müssen jedoch immer noch manuell durchgeführt werden. Manuelle Tests können mühsam, zeitaufwändig und fehleranfällig sein, insbesondere in Umgebungen, die eine kontinuierliche Integration erfordern. Python verfügt als beliebte Programmiersprache über viele leistungsstarke Test-Frameworks und Bibliotheken zum Schreiben automatisierter Webanwendungstests. In diesem Artikel wird erläutert, wie Sie Python für automatisierte Tests verwenden.

  1. Installieren Sie die erforderlichen Python-Bibliotheken

Bevor Sie mit dem Schreiben automatisierter Tests beginnen, müssen Sie sicherstellen, dass Sie die erforderlichen Python-Bibliotheken installiert haben. Zu diesen Bibliotheken gehören:

  • Selenium WebDriver: Wird zum Simulieren von Browseraktionen wie dem Klicken auf Links und dem Ausfüllen von Formularen verwendet.
  • Pytest: wird zum Schreiben und Ausführen von Testfällen verwendet.
  • Anfragen: werden zum Senden von HTTP-Anfragen und zum Parsen von Antworten verwendet.

Diese Bibliotheken können einfach mit dem Befehl pip installiert werden.

pip install selenium pytest requests
Nach dem Login kopieren

Sie können auch die Bibliotheken, die Sie verwenden möchten, in der Datei „requirements.txt“ Ihres Projekts auflisten, damit andere problemlos dieselben Abhängigkeiten installieren können.

  1. Testfälle schreiben

Bevor Sie einen Testfall schreiben, müssen Sie die URL der Anwendung, die Sie testen möchten, sowie alle erforderlichen Authentifizierungsinformationen ermitteln. Oft ist es notwendig, eine Testumgebung mit Testbenutzern zu erstellen, damit mithilfe bekannter Anmeldeinformationen bestimmte Verhaltensweisen ausgelöst werden können.

Der grundlegende Prozess zum Schreiben von Testfällen mit Selenium und Pytest ist wie folgt:

  • Öffnen Sie bei Bedarf einen Browser mit Selenium und navigieren Sie zur Testseite.
  • Verwenden Sie Selenium, um die Benutzerinteraktion mit Ihrer Anwendung zu simulieren. Mit Selenium können beispielsweise Benutzeranmeldungen, das Ausfüllen von Formularen, das Klicken auf Schaltflächen oder Links usw. simuliert werden.
  • Schreiben Sie Testfälle im Pytest-Format. Jeder Testfall entspricht normalerweise einem einzelnen Test einer bestimmten Anwendungsfunktionalität, z. B. „Benutzeranmeldefunktion testen“ oder „Zugriff auf eine bestimmte Seite testen“.
  • Bevor Pytest den Test ausführt, können Sie eine Testvorrichtung einrichten, um die Testumgebung oder simulierte Objekte einzurichten, oder einige wiederholte Schritte ausführen.

Hier ist ein einfacher Beispieltestfall zum Testen der Anmeldeseite:

import pytest
from selenium import webdriver

# 设置测试环境
@pytest.fixture(scope="module")
def driver():
    with webdriver.Chrome() as driver:
        yield driver

# 测试用例
def test_login_page(driver):
    driver.get("https://myapp.com/login")
    assert "登录" in driver.title
    username_input = driver.find_element_by_id("username")
    password_input = driver.find_element_by_id("password")
    submit_button = driver.find_element_by_id("submit")
    username_input.send_keys("test_user")
    password_input.send_keys("test_password")
    submit_button.click()
    assert "欢迎" in driver.title
Nach dem Login kopieren

Im obigen Code ist driver是一个Selenium webdriver对象,test_login_page ein Testfall, der zur Anmeldeseite navigiert, das Formular ausfüllt, auf die Schaltfläche „Senden“ klickt und dies schließlich nach der Anmeldung bestätigt Der Titel der Seite enthält das Wort „Willkommen“.

  1. Testfälle ausführen

Nachdem Sie mit dem Schreiben Ihrer Testfälle fertig sind, können Sie sie mit Pytest ausführen. Geben Sie in der Befehlszeile den folgenden Befehl ein, um den Testfall auszuführen:

pytest test_web_app.py
Nach dem Login kopieren

Vor der Ausführung des Testfalls sucht Pytest in der Datei nach Funktionen, die mit „test_“ beginnen, und identifiziert sie anhand des Funktionsnamens und des Tags als Testfälle. Beim Ausführen von Testfällen gibt Pytest die Ergebnisse jedes Testfalls aus, einschließlich der Frage, ob der Test bestanden wurde, der Laufzeit und etwaiger Ausgaben.

  1. Integration mit anderen Tools

Neben Selenium und Pytest stehen viele weitere Tools für automatisierte Python-Tests zur Verfügung. Hier einige Beispiele:

  • PyAutoGUI: Wird zur Simulation von Tastatur- und Mauseingaben und -vorgängen verwendet. Kann zum Schreiben von UI-Tests verwendet werden.
  • Locust: Ein in Python geschriebenes Open-Source-Lasttest-Tool, das eine große Anzahl von Benutzerbesuchen simulieren und Anwendungsleistungsindikatoren erfassen kann.
  • Mock: Python-Bibliothek zum Verspotten von Funktionen und Objekten, die in Tests echte Funktionen und Objekte ersetzen können, um Abhängigkeiten von anderen Systemen zu vermeiden.
  • Coverage.py: Python-Testabdeckungstool, mit dem Sie sehen können, welche Teile des Codes durch Tests abgedeckt wurden.

Automatisiertes Testen ist ein integraler Bestandteil der modernen Softwareentwicklung. Python bietet leistungsstarke und benutzerfreundliche Bibliotheken und Tools zum einfachen Erstellen und Ausführen automatisierter Tests. Unabhängig davon, ob Sie Selenium und Pytest zum Schreiben von UI-Tests verwenden oder andere Tools zum Testen der Codeleistung und -last verwenden, ist Python eine ausgezeichnete Wahl.

Das obige ist der detaillierte Inhalt vonAutomatisiertes Testen von Webanwendungen mit 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