Maison > Article > développement back-end > Comment utiliser Selenium pour les tests fonctionnels en php ?
À mesure que les applications Web deviennent de plus en plus complexes, garantir la qualité des produits pendant le processus de développement logiciel devient de plus en plus important. Les tests automatisés peuvent aider les développeurs de logiciels à identifier rapidement les défauts du système et à améliorer la couverture des tests. De plus, les tests automatisés peuvent réduire les cycles de test et réduire les coûts des tests. Selenium est un outil de test automatisé populaire qui peut simuler l'interaction des utilisateurs avec des applications Web via son API.
Cet article expliquera comment utiliser PHP pour écrire des tests fonctionnels automatisés basés sur Selenium.
Selenium et Selenium WebDriver
Selenium est un outil open source de test automatisé qui peut être utilisé pour tester l'interface utilisateur des applications Web. Selenium se compose de trois composants principaux : Selenium IDE, Selenium RC et Selenium WebDriver. Selenium IDE est un outil de test basé sur un plug-in et un enregistrement pour le navigateur Firefox, et Selenium RC (Remote Control) est un outil de test automatisé écrit en JavaScript. Selenium WebDriver est le membre le plus récent et le plus puissant de la famille Selenium. Il fournit une interface de programmation cohérente et complète qui prend en charge plusieurs navigateurs (tels que Chrome, Firefox, Safari, etc.) et systèmes d'exploitation (Windows, Linux et Mac). Dans cet article, nous utiliserons Selenium WebDriver.
Selenium WebDriver est une bibliothèque tierce qui permet à PHP de contrôler directement le navigateur à des fins de test à l'aide de son API. WebDriver fournit un ensemble de commandes qui peuvent être utilisées pour contrôler le comportement du navigateur, comme cliquer, soumettre des formulaires, valider des éléments de page, etc.
Test avec PHPUnit
PHPUnit est un framework de test PHP populaire qui permet aux développeurs d'écrire des tests unitaires et fonctionnels. Dans cet article, nous utiliserons PHPUnit comme framework de test.
Avant de commencer à utiliser PHPUnit, nous devons installer PHPUnit et Selenium WebDriver. PHPUnit peut être installé via Composer et Selenium WebDriver peut être téléchargé depuis son site officiel (https://www.selenium.dev/downloads/). Ensuite, nous le configurons dans le chemin d'inclusion de l'environnement PHP.
Écriture du premier test fonctionnel
Maintenant que nous disposons du logiciel et de l'environnement nécessaires, nous pouvons écrire le premier test fonctionnel basé sur Selenium. Nous allons créer un scénario de test appelé "LoginTest" qui simulera un utilisateur se connectant à une application Web à l'aide de Selenium WebDriver.
Tout d'abord, nous devons définir une classe de test. Ensuite, nous écrirons une méthode de test dans cette classe de test et créerons une instance WebDriver dans la méthode de test.
Exemple :
use PHPUnitFrameworkTestCase; use FacebookWebDriverRemoteRemoteWebDriver; use FacebookWebDriverRemoteDesiredCapabilities; use FacebookWebDriverWebDriverBy; class LoginTest extends TestCase { public function testLogin() { //定义DesiredCapabilities $capabilities = DesiredCapabilities::chrome(); //创建WebDriver实例,我们将在Chrome浏览器中运行测试 $driver = RemoteWebDriver::create('http://localhost:9515', $capabilities); //开始测试 $driver->get('http://example.com/'); $driver->findElement(WebDriverBy::id('username'))->sendKeys('user1'); $driver->findElement(WebDriverBy::id('password'))->sendKeys('password1'); $driver->findElement(WebDriverBy::id('submit'))->click(); //验证测试结果 $this->assertEquals('http://example.com/home', $driver->getCurrentUrl()); //关闭WebDriver实例 $driver->quit(); } }
Dans l'exemple ci-dessus, nous y avons défini une classe de test "LoginTest" et une méthode de test nommée "testLogin". Dans la méthode de test, nous précisons via DesiredCapabilities que le test sera exécuté dans le navigateur Chrome. Nous avons ensuite créé une instance WebDriver et l'avons utilisée pour ouvrir l'URL à des fins de test. Dans cet exemple, nous avons entré notre nom d'utilisateur et notre mot de passe et cliqué sur le bouton Soumettre. Enfin, nous vérifions que l'URL de la page est correcte pour prouver la réussite du test. Enfin, nous arrêtons l'instance WebDriver.
Ce code peut montrer aux développeurs comment utiliser Selenium WebDriver en PHP pour les tests fonctionnels. Les développeurs n'ont qu'à écrire du code simple pour automatiser les interactions avec les applications Web et générer des rapports de test automatisés.
Conclusion
Selenium est un outil de test automatisé qui peut être utilisé pour tester l'interface utilisateur d'une application Web. Selenium WebDriver est le membre le plus récent et le plus puissant de la famille Selenium, fournissant une interface de programmation cohérente et étendue prenant en charge plusieurs navigateurs et systèmes d'exploitation. En combinaison avec PHPUnit, un framework de test PHP populaire, les développeurs peuvent utiliser Selenium WebDriver pour écrire des tests fonctionnels automatisés. Dans cet article, nous avons montré comment utiliser Selenium WebDriver en PHP pour des tests fonctionnels automatisés.
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!