Maison >développement back-end >tutoriel php >Comment utiliser PHP WebDriver pour les tests de formulaire et les tests d'entrée

Comment utiliser PHP WebDriver pour les tests de formulaire et les tests d'entrée

PHPz
PHPzoriginal
2023-06-15 10:20:011529parcourir

Pour les développeurs PHP, les tests sont une étape très importante. Lors des tests, les tests de formulaire et les tests d'entrée sont des types de tests extrêmement courants. Pour les deux types de tests, PHP WebDriver est un outil de test très adapté. Dans cet article, nous examinerons en profondeur comment utiliser PHP WebDriver pour les tests de formulaires et les tests d'entrée.

Qu'est-ce que PHP WebDriver ?

Tout d'abord, comprenons ce qu'est PHP WebDriver. PHP WebDriver est un wrapper PHP basé sur Selenium WebDriver. Il peut piloter divers navigateurs, notamment Firefox, Chrome, etc., pour simuler les opérations des utilisateurs. PHP WebDriver peut être utilisé pour effectuer divers tests, notamment des tests de formulaire et des tests d'entrée.

Test de formulaire

Le test de formulaire est un type courant de test, principalement utilisé pour tester divers formulaires du site Web (tels que les formulaires d'inscription, les formulaires de connexion, etc.). Ce qui suit explique comment utiliser PHP WebDriver pour les tests de formulaire.

1. Configurer l'environnement

Tout d'abord, vous devez installer PHP WebDriver. PHP WebDriver peut être installé via Composer. Les étapes spécifiques sont les suivantes :

(1) Créez un fichier composer.json dans le répertoire du projet en cours avec le contenu suivant :

#🎜 🎜#{#🎜 🎜#
"require": {
    "php-webdriver/webdriver": "dev-master"
}

}

(2) Entrez le répertoire où se trouve le fichier composer.json dans le terminal, puis exécutez la commande suivante :

composer install

# 🎜🎜#2. Créez une classe de test

Ensuite, vous devez créer une classe de test et écrire du code de test dans cette classe. Le code de test peut être écrit en utilisant PHPUnit. Voici un exemple de code :

use PHPUnitFrameworkTestCase;

use FacebookWebDriverRemoteRemoteWebDriver;

use FacebookWebDriverWebDriverBy;

use FacebookWebDriverWebDriverExpectedCondition;
#🎜 🎜#class FormTest étend TestCase
{

/**
 * @var RemoteWebDriver
 */
protected $webDriver;

public function setUp()
{
    $capabilities = [
        'browserName' => 'chrome',
    ];

    $this->webDriver = RemoteWebDriver::create('http://localhost:4444/wd/hub', $capabilities);
    $this->webDriver->manage()->window()->maximize();
}

public function tearDown()
{
    $this->webDriver->quit();
}

public function testForm()
{
    $this->webDriver->get('http://localhost/form/');
    $this->webDriver->findElement(WebDriverBy::id('name'))->sendKeys('test');
    $this->webDriver->findElement(WebDriverBy::id('email'))->sendKeys('test@example.com');
    $this->webDriver->findElement(WebDriverBy::id('password'))->sendKeys('password');
    $this->webDriver->findElement(WebDriverBy::id('confirm_password'))->sendKeys('password');
    $this->webDriver->findElement(WebDriverBy::id('submit'))->click();

    $this->webDriver->wait(10)->until(
        WebDriverExpectedCondition::urlContains('success.php')
    );
}

}


Dans l'exemple de code ci-dessus, le navigateur Chrome est utilisé et une page de formulaire est ouverte. Ensuite, recherchez chaque élément du formulaire via la méthode findElement, saisissez les données et soumettez le formulaire. Enfin, attendez le passage à la page de réussite via la méthode d'attente.

Test d'entrée

Semblable au test de formulaire, le test d'entrée est également un type de test courant. Les tests de saisie font référence au test des zones de saisie, des zones de liste déroulante, des zones à sélection multiple, etc. sur le site Web. Voici comment utiliser PHP WebDriver pour les tests d'entrée.

1. Configurer l'environnement

Semblable aux tests de formulaire, vous devez d'abord installer PHP WebDriver. Les étapes d'installation sont similaires à celles ci-dessus et ne seront pas répétées ici.

2. Créez une classe de test

Ensuite, vous devez créer une classe de test et écrire du code de test dans cette classe. Voici un exemple de code :

use PHPUnitFrameworkTestCase;

use FacebookWebDriverRemoteRemoteWebDriver;

use FacebookWebDriverWebDriverBy;

use FacebookWebDriverWebDriverExpectedCondition;

#🎜 🎜#class InputTest étend TestCase
{

/**
 * @var RemoteWebDriver
 */
protected $webDriver;

public function setUp()
{
    $capabilities = [
        'browserName' => 'chrome',
    ];

    $this->webDriver = RemoteWebDriver::create('http://localhost:4444/wd/hub', $capabilities);
    $this->webDriver->manage()->window()->maximize();
}

public function tearDown()
{
    $this->webDriver->quit();
}

public function testInput()
{
    $this->webDriver->get('http://localhost/input/');
    $this->webDriver->findElement(WebDriverBy::id('input'))->sendKeys('test');
    $this->webDriver->findElement(WebDriverBy::id('select'))->click();
    $this->webDriver->findElement(WebDriverBy::xpath('//option[text()="option1"]'))->click();
    $this->webDriver->findElement(WebDriverBy::id('checkbox1'))->click();
    $this->webDriver->findElement(WebDriverBy::id('radio1'))->click();
}

}

Dans l'exemple de code ci-dessus, le navigateur Chrome est utilisé et une page de test de saisie est ouverte. Ensuite, recherchez la zone de saisie, la zone de liste déroulante, la zone de sélection multiple et la zone de bouton radio via la méthode findElement et utilisez-les.

Résumé

Grâce à l'introduction de cet article, nous avons appris à utiliser PHP WebDriver pour les tests de formulaires et les tests d'entrée. PHP WebDriver est un outil de test très pratique qui peut réduire considérablement le temps de test et améliorer l'efficacité des tests. Que ce soit pour les développeurs débutants ou expérimentés, PHP WebDriver est un outil de test qui vaut la peine d'être essayé.

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