Für PHP-Entwickler ist das Testen ein sehr wichtiger Schritt. Beim Testen sind Formtests und Eingabetests äußerst häufige Testtypen. Für beide Testarten ist PHP WebDriver ein sehr geeignetes Testtool. In diesem Artikel werden wir uns eingehend mit der Verwendung von PHP WebDriver für Formulartests und Eingabetests befassen.
Was ist PHP WebDriver?
Lassen Sie uns zunächst verstehen, was PHP WebDriver ist. PHP WebDriver ist ein PHP-Wrapper, der auf Selenium WebDriver basiert. Es kann verschiedene Browser, einschließlich Firefox, Chrome usw., ansteuern, um Benutzervorgänge zu simulieren. Mit PHP WebDriver können verschiedene Tests durchgeführt werden, darunter Formulartests und Eingabetests.
Formulartests
Formulartests sind eine gängige Testart, die hauptsächlich zum Testen verschiedener Formulare auf der Website (z. B. Registrierungsformular, Anmeldeformular usw.) verwendet wird. Im Folgenden wird erläutert, wie Sie PHP WebDriver zum Testen von Formularen verwenden.
1. Richten Sie die Umgebung ein
Zuerst müssen Sie PHP WebDriver installieren. Die Installation von PHP WebDriver kann über Composer durchgeführt werden. Die spezifischen Schritte sind wie folgt:
(1) Erstellen Sie die Datei „composer.json“ im Verzeichnis des aktuellen Projekts mit folgendem Inhalt:
{
"require": { "php-webdriver/webdriver": "dev-master" }
}
(2) Geben Sie im Terminal das Verzeichnis ein, in dem sich die .json-Datei befindet, und führen Sie dann den folgenden Befehl aus:
composer install
2 Erstellen Sie eine Testklasse
Als nächstes müssen Sie eine Testklasse erstellen Schreiben Sie den Testcode in dieser Klasse. Testcode kann mit PHPUnit geschrieben werden. Hier ist ein Beispielcode:
verwenden Sie PHPUnitFrameworkTestCase;
verwenden Sie FacebookWebDriverRemoteWebDriver;
verwenden Sie FacebookWebDriverWebDriverBy;
verwenden Sie FacebookWebDriverWebDriverExpectedCondition;
class FormTest erweitert TestCase
{
/** * @var RemoteWebDriver */ protected $webDriver; public function setUp() { $capabilities = [ 'browserName' => 'chrome', ]; $this->webDriver = RemoteWebDriver::create('http://localhost:4444/wd/hub', $capabilities); $this->webDriver->manage()->window()->maximize(); } public function tearDown() { $this->webDriver->quit(); } public function testForm() { $this->webDriver->get('http://localhost/form/'); $this->webDriver->findElement(WebDriverBy::id('name'))->sendKeys('test'); $this->webDriver->findElement(WebDriverBy::id('email'))->sendKeys('test@example.com'); $this->webDriver->findElement(WebDriverBy::id('password'))->sendKeys('password'); $this->webDriver->findElement(WebDriverBy::id('confirm_password'))->sendKeys('password'); $this->webDriver->findElement(WebDriverBy::id('submit'))->click(); $this->webDriver->wait(10)->until( WebDriverExpectedCondition::urlContains('success.php') ); }
}
mit dem. Chrome Browser und eine Formularseite wird geöffnet. Suchen Sie dann mit der findElement-Methode jedes Element des Formulars, geben Sie die Daten ein und senden Sie das Formular ab. Warten Sie abschließend auf den Sprung zur Erfolgsseite über die Wartemethode.
Eingabetest
Ähnlich wie Formulartests ist auch der Eingabetest eine häufige Art von Tests. Eingabetests beziehen sich auf das Testen von Eingabefeldern, Dropdown-Listenfeldern, Mehrfachauswahlfeldern usw. auf der Website. Hier erfahren Sie, wie Sie PHP WebDriver für Eingabetests verwenden.
1. Richten Sie die Umgebung ein
Ähnlich wie beim Formulartest müssen Sie zuerst PHP WebDriver installieren. Die Installationsschritte ähneln den oben genannten und werden hier nicht wiederholt.
2. Erstellen Sie eine Testklasse
Als nächstes müssen Sie eine Testklasse erstellen und Testcode in diese Klasse schreiben. Hier ist ein Beispielcode:
use PHPUnitFrameworkTestCase;
use FacebookWebDriverWebDriverBy;
use FacebookWebDriverWebDriverExpectedCondition; und eine Eingabetestseite wird geöffnet. Suchen Sie dann über die findElement-Methode das Eingabefeld, das Dropdown-Listenfeld, das Mehrfachauswahlfeld und das Optionsfeld und bedienen Sie sie.
In der Einleitung dieses Artikels haben wir gelernt, wie man PHP WebDriver zum Testen von Formularen und Eingaben verwendet. PHP WebDriver ist ein sehr praktisches Testtool, das die Testzeit erheblich verkürzen und die Testeffizienz verbessern kann. Ob für Anfänger oder erfahrene Entwickler, PHP WebDriver ist ein Testtool, das es wert ist, ausprobiert zu werden.
Das obige ist der detaillierte Inhalt vonSo verwenden Sie PHP WebDriver für Formulartests und Eingabetests. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!