Méthode de configuration de l'environnement PHP Selenium : 1. Téléchargez la dernière version thread-safe du package zip PHP ; 2. Copiez une copie de "php.ini-development" et renommez-la en "php.ini" et placez-la dans l'installation. chemin ; 3. Définir les variables système Le chemin ci-dessous est "D:Softwarephp-7.2.28-Win32-VC15-x64;".
L'environnement d'exploitation de ce tutoriel : système Windows 7, PHP version 8.1, ordinateur Dell G3.
Comment configurer l'environnement PHP Selenium ?
Construction d'un environnement PHP+sélénium dans un environnement Windows
J'ai récemment voulu me lancer dans les tests automatisés. J'ai également écrit sur l'utilisation de la réception de code pour les tests unitaires et les tests d'interface. Pour la partie test de l'interface utilisateur, j'ai choisi le sélénium. Faisons-le ensuite. Construction d'environnements pertinents.
1. Accédez à l'adresse de téléchargement PHP http://windows.php.net/download pour télécharger la dernière version thread-safe du package compressé PHP zip, décompressez-la et placez-la dans le dossier. chemin que vous souhaitez installer. (Il convient de noter ici que le système win7 ne peut pas utiliser la version php7.4 et que VCRUNTIME140.dll est perdu)
2 Entrez dans le répertoire d'installation de PHP, copiez une copie de php.ini-development. et renommez-le php.ini et placez-le sous le chemin d'installation, ouvrez et recherchez ;extension_dir=ext, supprimez les commentaires et modifiez la valeur en Chemin d'installation PHP ext.
3. Cliquez avec le bouton droit sur Ordinateur->Propriétés->Paramètres système avancés->Variables d'environnement->Chemin sous Variables système, cliquez sur Modifier et ajoutez le chemin PHP D:Softwarephp-7.2.28-Win32-VC15. -x64;
À ce stade, l'installation de PHP est terminée. Vous pouvez ouvrir cmd pour afficher la version correspondante, comme indiqué dans la figure :
Entrez sur le site officiel, https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html, recherchez la version adaptée et téléchargez jdk.
Téléchargez le fichier Selenium, http://selenium-release.storage.googleapis.com/index.html (adresse de téléchargement Selenium) téléchargez le fichier du package jar de Selenium-server-standalone-3.8.0. jar, Vous pouvez choisir la version vous-même
Pour les versions correspondantes de chrom et chromedriver, vous pouvez consulter le Remarques dans chaque version, le numéro de version de Chrome peut être consulté via chrome://settings/help
Remarque : Le fichier du pilote téléchargé doit être placé dans le répertoire racine de PHP
Après avoir écrit la démo, vous pouvez la tester. Exécutez d'abord le fichier du package Selenium Jar téléchargé, entrez le répertoire dans lequel vous avez placé le fichier Selenium dans la ligne de commande cmd, puis exécutez la commande suivante (remarque : elle doit être configurée). dans la deuxième étape, variables d'environnement d'exécution Java) java -jar selenium-server-standalone-3.8.0.jar. Si l'invite suivante apparaît sur votre ligne de commande, cela signifie que le démarrage a réussi.
Lors de l'exécution de example.php, Remarque : Index non défini : ELEMENT dans D:testvendorfacebookwebdriverlibRemoteRemoteWebDriver.php à la ligne 178,
Après enquête, cela a été causé par des changements dans le protocole de communication de la nouvelle version de Selenium. Le contrôle des paramètres associés peut être ajouté au démarrage :
java -jar selenium-server-standalone-3.8.0.jar -enablePassThrough false至此,通过编写example.php文件便可实现简单的自动登录流程。
Avant d'exécuter exam.php, vous devez copier le répertoire du fournisseur sous ewing dans le répertoire phpDirver
Vous pouvez modifier example.php pour réaliser une connexion automatique à d'autres sites Web, par exemple. PHP est le suivant :
<?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();
Digression : Comme Selenium ne prend pas en charge le cadre intégré du langage PHP, si nous voulons utiliser Selenium pour effectuer des tests fonctionnels dans le projet, nous devons combiner les différents scripts nous-mêmes, ce qui revient presque à écrire un cadre.
Apprentissage recommandé : "Tutoriel vidéo PHP"
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!