Maison >développement back-end >tutoriel php >Utiliser PHP WebDriver pour implémenter des tests automatisés basés sur les données

Utiliser PHP WebDriver pour implémenter des tests automatisés basés sur les données

WBOY
WBOYoriginal
2023-06-15 23:37:53855parcourir

Dans le développement de logiciels modernes, les tests automatisés sont devenus un élément indispensable. Il peut aider les développeurs à tester les logiciels rapidement et avec précision, améliorant ainsi l'efficacité du développement et la qualité des logiciels. Dans les tests automatisés, les tests basés sur les données sont une technique de test couramment utilisée qui peut rendre les tests plus stables et reproductibles. Dans le développement PHP, PHP WebDriver peut nous aider à mettre en œuvre des tests automatisés basés sur les données.

PHP WebDriver est une bibliothèque PHP qui peut interagir avec Selenium WebDriver pour contrôler le navigateur. Selenium WebDriver est un framework de test automatisé populaire qui prend en charge plusieurs langages de programmation, notamment Java, Python, Ruby et JavaScript. Grâce à PHP WebDriver, nous pouvons utiliser PHP pour écrire des scripts de test automatisés afin de réaliser des tests automatisés. Dans cet article, nous présenterons comment utiliser PHP WebDriver pour implémenter des tests automatisés basés sur les données.

La mise en œuvre de tests automatisés basés sur les données nécessite les étapes suivantes :

  1. Préparer les données de test : les données de test peuvent être des données stockées dans des fichiers Excel ou CSV, ou dans une base de données. Dans cet article, nous utiliserons des fichiers CSV pour stocker les données de test.
  2. Écrire des cas de test : les cas de test sont des étapes de test spécifiques, notamment l'ouverture de pages Web, la saisie de données, le clic sur des boutons, etc. Nous utiliserons PHP pour écrire des cas de test et implémenter l'exécution des cas de test à l'aide de PHP WebDriver.
  3. Exécuter les cas de test : Nous utiliserons le framework PHPUnit pour exécuter les cas de test.

Ci-dessous, nous présenterons en détail comment mettre en œuvre des tests automatisés basés sur les données.

  1. Préparation des données de test

Nous utiliserons des fichiers CSV pour stocker les données de test. Un fichier CSV est un format de feuille de calcul simple qui peut être créé et modifié avec un éditeur de texte ou un logiciel tel qu'Excel. Un fichier CSV contient plusieurs lignes et colonnes, chaque colonne étant séparée par des virgules. Voici un exemple simple de fichier CSV :

username,password
user1,password1
user2,password2
user3,password3

Dans cet exemple, nous testerons la vérification du nom d'utilisateur et du mot de passe. Le fichier contient trois données de test, chaque donnée de test contient deux colonnes : nom d'utilisateur et mot de passe.

  1. Rédaction de cas de test

Nous utiliserons le framework PHPUnit pour écrire des cas de test et utiliserons PHP WebDriver pour implémenter l'exécution des cas de test.

Tout d’abord, nous devons installer PHPUnit et PHP WebDriver. PHPUnit peut être installé à l'aide de Composer et PHP WebDriver peut être téléchargé depuis GitHub puis installé à l'aide de Composer. Après avoir installé PHPUnit et PHP WebDriver, nous pouvons commencer à écrire des cas de test.

Tout d'abord, nous devons créer une classe de cas de test qui hérite de PHPUnitFrameworkTestCase, par exemple :

<?php

use PHPUnitFrameworkTestCase;

class LoginTest extends TestCase
{
    public function testLogin()
    {

    }
}

Dans cette classe de cas de test, nous pouvons exécuter le test via la méthode testLogin.

Nous devons implémenter les étapes du scénario de test en utilisant PHP WebDriver dans la méthode testLogin. Voici un exemple :

public function testLogin()
{
    $host = 'http://localhost:4444/wd/hub';
    $capabilities = DesiredCapabilities::chrome();

    $driver = RemoteWebDriver::create($host, $capabilities);

    $driver->get('https://example.com');

    $username_field = $driver->findElement(WebDriverBy::name('username'));
    $password_field = $driver->findElement(WebDriverBy::name('password'));
    $submit_button = $driver->findElement(WebDriverBy::name('submit'));

    $username = 'user1';
    $password = 'password1';

    $username_field->sendKeys($username);
    $password_field->sendKeys($password);
    $submit_button->click();

    $result = $driver->getTitle();
    $expected = 'Welcome to Example.com';

    $this->assertSame($expected, $result);

    $driver->quit();
}

Dans cet exemple, nous utilisons le navigateur Chrome pour exécuter le scénario de test. Tout d’abord, nous devons créer un objet RemoteWebDriver, puis utiliser la méthode get pour ouvrir la page Web. Ensuite, nous lisons le nom d'utilisateur et le mot de passe du fichier CSV, les saisissons dans la page Web et cliquons sur le bouton Soumettre. Enfin, nous pouvons utiliser la méthode assertSame pour vérifier si les résultats des tests répondent aux attentes.

  1. Exécuter des cas de test

Après avoir fini d'écrire les cas de test, nous pouvons utiliser PHPUnit pour exécuter les tests. Nous pouvons entrer dans le répertoire où se trouve le scénario de test dans le terminal et exécuter la commande suivante pour exécuter le test :

vendor/bin/phpunit LoginTest.php

Après avoir exécuté le test, PHPUnit affichera les résultats du test.

Résumé :

Dans cet article, nous avons présenté comment utiliser PHP WebDriver pour implémenter des tests automatisés basés sur les données. Nous préparons les données de test via des fichiers CSV et exécutons les cas de test à l'aide de PHP WebDriver. Enfin, nous pouvons utiliser PHPUnit pour exécuter le test et vérifier que les résultats du test correspondent aux attentes. Grâce à cette approche, nous pouvons réaliser des tests automatisés efficaces, stables et reproductibles.

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