Heim >Backend-Entwicklung >PHP-Problem >So richten Sie eine Selenium-PHP-Umgebung ein
Einrichtungsmethode für die Selenium PHP-Umgebung: 1. Laden Sie die neueste Thread-sichere Version des PHP-Zip-Pakets herunter. 2. Kopieren Sie eine Kopie von „php.ini-development“, benennen Sie sie in „php.ini“ um und fügen Sie sie in die Installation ein path; 3. Systemvariablen festlegen Der folgende Pfad ist „D:Softwarephp-7.2.28-Win32-VC15-x64;“.
Die Betriebsumgebung dieses Tutorials: Windows 7-System, PHP-Version 8.1, Dell G3-Computer.
Wie richte ich eine Selenium-PHP-Umgebung ein?
PHP+Selenium-Umgebungsaufbau in einer Windows-Umgebung
Ich wollte vor kurzem auch mit der Verwendung von Codeception für Unit-Tests und Schnittstellentests beginnen. Für den UI-Testteil habe ich mich für Selenium entschieden Lassen Sie uns als nächstes die entsprechenden Umgebungen erstellen.
1. Geben Sie die PHP-Download-Adresse http://windows.php.net/download ein, um die neueste threadsichere Version des komprimierten PHP-Zip-Pakets herunterzuladen, zu dekomprimieren und im Pfad abzulegen Sie installieren möchten. (Hier ist zu beachten, dass das Win7-System die PHP7.4-Version nicht verwenden kann und angezeigt wird, dass VCRUNTIME140.dll fehlt.)
2. Geben Sie das PHP-Installationsverzeichnis ein und kopieren Sie eine Kopie von php.ini-development und benennen Sie es in php.ini um und fügen Sie es ein. Öffnen Sie unter dem Installationspfad ;extension_dir=ext und suchen Sie, entfernen Sie die Kommentare und ändern Sie den Wert in PHP-Installationspfad ext.
3. Klicken Sie mit der rechten Maustaste auf Computer->Eigenschaften->Erweiterte Systemeinstellungen->Umgebungsvariablen->Pfad unter Systemvariablen, klicken Sie auf Bearbeiten und fügen Sie den PHP-Pfad D:Softwarephp-7.2.28-Win32-VC15 hinzu -x64;
An diesem Punkt ist die PHP-Installation abgeschlossen. Sie können cmd öffnen, um die entsprechende Version anzuzeigen:
Betreten Sie die offizielle Website https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html, suchen Sie die angepasste Version und laden Sie JDK herunter.
Laden Sie die Selenium-Datei herunter: http://selenium-release.storage.googleapis.com/index.html (Selenium-Download-Adresse) Laden Sie die JAR-Paketdatei von Selenium-Server-Standalone-3.8.0 herunter. jar, Sie können die Version selbst auswählen
Für die entsprechende Version von Chrom und Chromedriver können Sie dies tun Überprüfen Sie die Hinweise in jeder Version. Die Chrome-Versionsnummer kann über chrome://settings/help angezeigt werden. Hinweis: Die heruntergeladene Treiberdatei muss im Stammverzeichnis von PHP abgelegt werden
Laden Sie die Demo der PHP+Selenium-Datei herunter, https://github.com/facebook/php-webdriver (in der Testdatei finden Sie example.php und Falldokumente als Referenz). Nachdem Sie die Demo geschrieben haben, können Sie sie zunächst testen. Führen Sie die heruntergeladene Selenium-JAR-Paketdatei aus, geben Sie in der cmd-Befehlszeile das Verzeichnis ein, in dem Sie die Selenium-Datei abgelegt haben, und führen Sie dann den folgenden Befehl aus (Hinweis: Er muss konfiguriert werden Im zweiten Schritt werden Java-Umgebungsvariablen ausgeführt) java -jar selenium-server-standalone-3.8.0.jar. Wenn die folgende Eingabeaufforderung in Ihrer Befehlszeile erscheint, bedeutet dies, dass der Start erfolgreich war.
Beim Ausführen von example.php, Hinweis: Undefinierter Index: ELEMENT in D:testvendorfacebookwebdriverlibRemoteRemoteWebDriver.php in Zeile 178,
java -jar selenium-server-standalone-3.8.0.jar -enablePassThrough false至此,通过编写example.php文件便可实现简单的自动登录流程。
<?php // An example of using php-webdriver. // Do not forget to run composer install before. You must also have Selenium server started and listening on port 4444.namespace Facebook\WebDriver;use Facebook\WebDriver\Remote\DesiredCapabilities;use Facebook\WebDriver\Remote\RemoteWebDriver;require_once('vendor/autoload.php');// This is where Selenium server 2/3 listens by default. For Selenium 4, Chromedriver or Geckodriver, use http://localhost:4444/$host = 'http://localhost:4444/wd/hub';$capabilities = DesiredCapabilities::chrome();$driver = RemoteWebDriver::create($host, $capabilities);$driver->manage()->window()->maximize();// navigate to Selenium page on Wikipedia$driver->get('http://www.baidu.com/Login/s?name=lzxx');// write 'PHP' in the search box$driver->findElement(WebDriverBy::id('name')) // find search input element->sendKeys('xxxx'); // fill the search box$driver->findElement(WebDriverBy::id('xxxx')) ->sendKeys('88888888');//$driver->submit(); // submit the whole form // wait until 'PHP' is shown in the page heading element //$driver->wait()->until( // WebDriverExpectedCondition::elementTextContains(WebDriverBy::id('firstHeading'), 'PHP') //); // print title of the current page to outputecho "The title is '" . $driver->getTitle() . "'\n";// print URL of current page to outputecho "The current URL is '" . $driver->getCurrentURL() . "'\n";// find element of 'History' item in menu //$historyButton = $driver->findElement( // WebDriverBy::cssSelector('#jsLoginBtn') //);$historyButton = $driver->findElement( WebDriverBy::id('jsLoginBtn') );// read text of the element and print it to outputecho "About to click to button with text: '" . $historyButton->getText() . "'\n";// click the element to navigate to revision history page$historyButton->click();// wait until the target page is loaded$driver->wait()->until( WebDriverExpectedCondition::titleContains('教师首页') );// print the title of the current pageecho "The title is '" . $driver->getTitle() . "'\n";// print the URI of the current pageecho "The current URI is '" . $driver->getCurrentURL() . "'\n";// delete all cookies //$driver->manage()->deleteAllCookies(); // add new cookie$cookie = new Cookie('cookie_set_by_selenium', 'cookie_value');$driver->manage()->addCookie($cookie);// dump current cookies to output$cookies = $driver->manage()->getCookies();print_r($cookies);$driver->get('http://www.ekwing.com/exam/teacher/selflist');// close the browser //$driver->quit();Exkurs: Da Selenium das integrierte Framework der PHP-Sprache nicht unterstützt, müssen wir die verschiedenen Skripte selbst kombinieren, wenn wir Selenium zum Durchführen von Funktionstests im Projekt verwenden möchten, was fast dem Schreiben ähnelt ein Rahmen.
Empfohlenes Lernen: „
PHP-Video-Tutorial“
Das obige ist der detaillierte Inhalt vonSo richten Sie eine Selenium-PHP-Umgebung ein. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!