Heim > Artikel > Backend-Entwicklung > Erstellen Sie mit PHP WebDriver automatisierte Tests von Grund auf
PHP WebDriver ist ein Tool, das für automatisierte Tests verwendet werden kann. Es kann Benutzervorgänge im Browser simulieren, z. B. das Ausfüllen von Formularen, das Klicken auf Schaltflächen usw. PHP WebDriver ist eine Bibliothek der PHP-Sprache. Sie basiert auf Selenium WebDriver und kommuniziert mit dem Browser über den PHP-Client, um die automatisierte Ausführung von Testszenarien zu implementieren. In diesem Artikel erstellen wir mit PHP WebDriver einen automatisierten Testfall von Grund auf.
Schritt 1: PHP WebDriver installieren
Zuerst müssen wir PHP WebDriver installieren. Die GitHub-Adresse von PHP WebDriver lautet https://github.com/php-webdriver/php-webdriver. Diese Bibliothek wurde auf packagist veröffentlicht und kann daher mit Composer installiert werden:
$ composer require facebook/php-webdriver
Dadurch werden alle Abhängigkeiten von PHP WebDriver installiert.
Schritt 2: Testfall erstellen
Als nächstes müssen wir einen Testfall erstellen. Als Testfall verwenden wir eine einfache Anmeldeseite. Der Code lautet wie folgt:
<!DOCTYPE html> <html> <head> <title>Login Page</title> </head> <body> <form action="" method="post"> <label>Username:</label> <input type="text" name="username"/><br/><br/> <label>Password:</label> <input type="password" name="password"/><br/><br/> <input type="submit" value="Login"/> </form> </body> </html>
In diesem Beispiel haben wir ein HTML-Formular, das Eingabefelder für Benutzernamen und Passwort sowie eine Anmeldeschaltfläche enthält. Wir werden PHP WebDriver verwenden, um zu simulieren, dass der Benutzer seinen Benutzernamen und sein Passwort in dieses Formular eingibt und dann auf die Anmeldeschaltfläche klickt.
Schritt 3: Testcode schreiben
Jetzt schreiben wir Testcode, um Benutzervorgänge zu simulieren und zu überprüfen, ob die Anmeldefunktion normal ist. Der PHP WebDriver-Code lautet wie folgt:
<?php require_once('vendor/autoload.php'); use FacebookWebDriverRemoteRemoteWebDriver; use FacebookWebDriverWebDriverBy; // 配置 $host = 'http://localhost:4444/wd/hub'; $capabilities = ['browserName' => 'chrome']; $driver = RemoteWebDriver::create($host, $capabilities); // 访问页面 $driver->get('http://localhost/login.html'); // 填写用户名和密码 $username = $driver->findElement(WebDriverBy::name('username')); $username->sendKeys('user@example.com'); $password = $driver->findElement(WebDriverBy::name('password')); $password->sendKeys('password'); // 单击登录按钮 $loginButton = $driver->findElement(WebDriverBy::xpath('//input[@type="submit"]')); $loginButton->click(); // 验证登录 $welcomeMessage = $driver->findElement(WebDriverBy::tagName('h1'))->getText(); assert($welcomeMessage == 'Welcome to your account'); // 关闭浏览器 $driver->quit();
Zuerst müssen wir den PHP WebDriver in den Testcode importieren. Anschließend konfigurieren wir den Browsertyp und die Adresse, die vom Remote-WebDriver-Dienst angefordert werden. In diesem Beispiel verwenden wir den Chrome-Browser. Als nächstes besuchen wir die Testfallseite und simulieren, dass der Benutzer seinen Benutzernamen und sein Passwort in das Anmeldeformular eingibt und auf die Schaltfläche „Anmelden“ klickt. Abschließend überprüfen wir mithilfe einer Assertion, ob die Anmeldung erfolgreich war, und schließen den Browser.
Schritt 4: Führen Sie den Test aus
Wir können jetzt das Testskript ausführen und die Ergebnisse anzeigen. Zum Ausführen von Tests können Sie das PHPUnit-Testframework verwenden. Gehen Sie in der Befehlszeile in das Verzeichnis, in dem sich die Testdateien befinden, und führen Sie den folgenden Befehl aus:
$ vendor/bin/phpunit loginTest.php
Wenn der Test erfolgreich ist, wird PHPUnit ein grünes „OK“-Ergebnis ausgeben.
Der Aufbau automatisierter Tests trägt dazu bei, die Qualität und Effizienz von Tests zu verbessern und stellt sicher, dass potenzielle Codeprobleme während der Entwicklung und Bereitstellung erkannt werden. Durch die Verwendung von PHP WebDriver können wir ganz einfach automatisierte Tests erstellen und durch die Simulation von Benutzeraktionen überprüfen, ob die Funktionalität wie erwartet funktioniert. Dieser Artikel enthält ein Einstiegsbeispiel, von dem ich hoffe, dass es Ihnen hilfreich ist.
Das obige ist der detaillierte Inhalt vonErstellen Sie mit PHP WebDriver automatisierte Tests von Grund auf. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!