Rumah > Artikel > pembangunan bahagian belakang > Bina ujian automatik dari awal menggunakan PHP WebDriver
PHP WebDriver ialah alat yang boleh digunakan untuk ujian automatik Ia boleh mensimulasikan operasi pengguna pada penyemak imbas, seperti mengisi borang, mengklik butang, dsb. PHP WebDriver ialah perpustakaan bahasa PHP Ia berdasarkan Selenium WebDriver dan berkomunikasi dengan pelayar melalui klien PHP untuk melaksanakan senario ujian secara automatik. Dalam artikel ini, kami akan membina kes ujian automatik dari awal menggunakan PHP WebDriver.
Langkah 1: Pasang PHP WebDriver
Mula-mula, kita perlu memasang PHP WebDriver. Alamat GitHub PHP WebDriver ialah https://github.com/php-webdriver/php-webdriver. Pustaka ini telah dikeluarkan pada packagist, jadi ia boleh dipasang menggunakan komposer:
$ composer require facebook/php-webdriver
Ini akan memasang semua kebergantungan PHP WebDriver.
Langkah 2: Buat kes ujian
Seterusnya kita perlu mencipta kes ujian. Kami akan menggunakan halaman log masuk mudah sebagai kes ujian. Kodnya adalah seperti berikut:
<!DOCTYPE html> <html> <head> <title>Login Page</title> </head> <body> <form action="" method="post"> <label>Username:</label> <input type="text" name="username"/><br/><br/> <label>Password:</label> <input type="password" name="password"/><br/><br/> <input type="submit" value="Login"/> </form> </body> </html>
Dalam contoh ini, kami mempunyai borang HTML yang mengandungi kotak input nama pengguna dan kata laluan serta butang log masuk. Kami akan menggunakan PHP WebDriver untuk mensimulasikan pengguna memasukkan nama pengguna dan kata laluan mereka ke dalam borang ini dan kemudian mengklik butang log masuk.
Langkah 3: Tulis kod ujian
Kini kami akan menulis kod ujian untuk mensimulasikan operasi pengguna dan mengesahkan sama ada fungsi log masuk adalah normal. Kod PHP WebDriver adalah seperti berikut:
<?php require_once('vendor/autoload.php'); use FacebookWebDriverRemoteRemoteWebDriver; use FacebookWebDriverWebDriverBy; // 配置 $host = 'http://localhost:4444/wd/hub'; $capabilities = ['browserName' => 'chrome']; $driver = RemoteWebDriver::create($host, $capabilities); // 访问页面 $driver->get('http://localhost/login.html'); // 填写用户名和密码 $username = $driver->findElement(WebDriverBy::name('username')); $username->sendKeys('user@example.com'); $password = $driver->findElement(WebDriverBy::name('password')); $password->sendKeys('password'); // 单击登录按钮 $loginButton = $driver->findElement(WebDriverBy::xpath('//input[@type="submit"]')); $loginButton->click(); // 验证登录 $welcomeMessage = $driver->findElement(WebDriverBy::tagName('h1'))->getText(); assert($welcomeMessage == 'Welcome to your account'); // 关闭浏览器 $driver->quit();
Pertama, kita perlu mengimport PHP WebDriver ke dalam kod ujian. Kami kemudian mengkonfigurasi jenis pelayar dan alamat yang diminta daripada perkhidmatan WebDriver jauh. Dalam contoh ini, kami menggunakan penyemak imbas Chrome. Seterusnya, kami melawat halaman kes ujian dan mensimulasikan pengguna memasukkan nama pengguna dan kata laluan mereka dalam borang log masuk dan mengklik butang log masuk. Akhir sekali, kami menggunakan penegasan untuk mengesahkan bahawa log masuk berjaya dan menutup penyemak imbas.
Langkah 4: Jalankan ujian
Kini kami boleh menjalankan skrip ujian dan melihat hasilnya. Untuk menjalankan ujian, anda boleh menggunakan rangka kerja ujian PHPUnit. Dalam baris arahan, pergi ke direktori tempat fail ujian berada dan jalankan arahan berikut:
$ vendor/bin/phpunit loginTest.php
Jika ujian berjaya, kita akan melihat PHPUnit mengeluarkan hasil "OK" hijau.
Membina ujian automatik membantu meningkatkan kualiti dan kecekapan ujian dan memastikan isu kod yang berpotensi dikesan semasa pembangunan dan penggunaan. Dengan menggunakan PHP WebDriver, kami boleh membuat ujian automatik dengan mudah dan mengesahkan bahawa fungsi berfungsi seperti yang diharapkan dengan mensimulasikan tindakan pengguna. Artikel ini menyediakan contoh peringkat permulaan yang saya harap akan membantu anda.
Atas ialah kandungan terperinci Bina ujian automatik dari awal menggunakan PHP WebDriver. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!