Maison  >  Article  >  développement back-end  >  Comment configurer l'environnement PHP Selenium

Comment configurer l'environnement PHP Selenium

藏色散人
藏色散人original
2022-11-06 10:27:421487parcourir

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;".

Comment configurer l'environnement PHP Selenium

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.

  • Créer un environnement PHP

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 :

  • Création de l'environnement d'exécution Java Il faut expliquer ici que. le fichier d'exécution Selenium est un package jar et vous devez le créer. Selenium doit être activé dans un bon environnement d'exécution Java.

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

  • Téléchargez le fichier du pilote du navigateur (remarque ici : assurez-vous de télécharger le fichier du pilote qui correspond à la version du navigateur installée sur votre machine). Le nom du fichier du pilote utilisé par le navigateur Google est : chromedriver, https://chromedriver.storage.googleapis.com/index.html (adresse de téléchargement du pilote Chrome). Le nom du fichier du pilote de Firefox est : geckodriver.exe, https://docs.seleniumhq.org/download/ (allez sur le site officiel de Selenium pour télécharger, sélectionnez Java)

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

  • Téléchargez la démo du fichier PHP+selenium, https://github.com/facebook/php-webdriver (il y a des exemples.php et des documents de cas sous le fichier de tests pour référence).
  • 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(&#39;vendor/autoload.php&#39;);// This is where Selenium server 2/3 listens by default. For Selenium 4, Chromedriver or Geckodriver, use http://localhost:4444/$host = &#39;http://localhost:4444/wd/hub&#39;;$capabilities = DesiredCapabilities::chrome();$driver = RemoteWebDriver::create($host, $capabilities);$driver->manage()->window()->maximize();// navigate to Selenium page on Wikipedia$driver->get(&#39;http://www.baidu.com/Login/s?name=lzxx&#39;);// write &#39;PHP&#39; in the search box$driver->findElement(WebDriverBy::id(&#39;name&#39;)) // find search input element->sendKeys(&#39;xxxx&#39;); // fill the search box$driver->findElement(WebDriverBy::id(&#39;xxxx&#39;))    ->sendKeys(&#39;88888888&#39;);//$driver->submit(); // submit the whole form

// wait until &#39;PHP&#39; is shown in the page heading element
//$driver->wait()->until(
//    WebDriverExpectedCondition::elementTextContains(WebDriverBy::id(&#39;firstHeading&#39;), &#39;PHP&#39;)
//);

// print title of the current page to outputecho "The title is &#39;" . $driver->getTitle() . "&#39;\n";// print URL of current page to outputecho "The current URL is &#39;" . $driver->getCurrentURL() . "&#39;\n";// find element of &#39;History&#39; item in menu
//$historyButton = $driver->findElement(
//    WebDriverBy::cssSelector(&#39;#jsLoginBtn&#39;)
//);$historyButton = $driver->findElement(
    WebDriverBy::id(&#39;jsLoginBtn&#39;)
);// read text of the element and print it to outputecho "About to click to button with text: &#39;" . $historyButton->getText() . "&#39;\n";// click the element to navigate to revision history page$historyButton->click();// wait until the target page is loaded$driver->wait()->until(
    WebDriverExpectedCondition::titleContains(&#39;教师首页&#39;)
);// print the title of the current pageecho "The title is &#39;" . $driver->getTitle() . "&#39;\n";// print the URI of the current pageecho "The current URI is &#39;" . $driver->getCurrentURL() . "&#39;\n";// delete all cookies
//$driver->manage()->deleteAllCookies();

// add new cookie$cookie = new Cookie(&#39;cookie_set_by_selenium&#39;, &#39;cookie_value&#39;);$driver->manage()->addCookie($cookie);// dump current cookies to output$cookies = $driver->manage()->getCookies();print_r($cookies);$driver->get(&#39;http://www.ekwing.com/exam/teacher/selflist&#39;);// 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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn