Apabila aplikasi web menjadi semakin kompleks, memastikan kualiti produk semasa proses pembangunan perisian menjadi semakin penting. Ujian automatik boleh membantu pembangun perisian mengenal pasti kecacatan sistem dengan cepat dan meningkatkan liputan ujian. Selain itu, ujian automatik boleh mengurangkan kitaran ujian dan mengurangkan kos ujian. Selenium ialah alat ujian automatik popular yang boleh mensimulasikan interaksi pengguna dengan aplikasi web melalui APInya.
Artikel ini akan memperkenalkan cara menggunakan PHP untuk menulis ujian berfungsi automatik berdasarkan Selenium.
Selenium dan Selenium WebDriver
Selenium ialah alat sumber terbuka ujian automatik yang boleh digunakan untuk menguji antara muka pengguna aplikasi web. Selenium terdiri daripada tiga komponen utama: Selenium IDE, Selenium RC dan Selenium WebDriver. Selenium IDE ialah alat ujian pemalam dan berasaskan rakaman untuk pelayar Firefox, dan Selenium RC (Kawalan Jauh) ialah alat ujian automatik yang ditulis dalam JavaScript. Selenium WebDriver ialah ahli terbaharu dan paling berkuasa dalam keluarga Selenium Ia menyediakan antara muka pengaturcaraan yang konsisten dan meluas yang menyokong berbilang penyemak imbas (seperti Chrome, Firefox, Safari, dll.) dan sistem pengendalian (Windows, Linux dan Mac). Dalam artikel ini, kami akan menggunakan Selenium WebDriver.
Selenium WebDriver ialah perpustakaan pihak ketiga yang membenarkan PHP menggunakan APInya untuk mengawal terus penyemak imbas untuk ujian. WebDriver menyediakan satu set arahan yang boleh digunakan untuk mengawal tingkah laku penyemak imbas seperti mengklik, menyerahkan borang, mengesahkan elemen halaman, dsb.
Ujian dengan PHPUnit
PHPUnit ialah rangka kerja ujian PHP popular yang membolehkan pembangun menulis ujian unit dan fungsi. Dalam artikel ini, kami akan menggunakan PHPUnit sebagai rangka kerja ujian.
Sebelum mula menggunakan PHPUnit, kita perlu memasang PHPUnit dan Selenium WebDriver. PHPUnit boleh dipasang melalui Composer, dan Selenium WebDriver boleh dimuat turun dari laman web rasminya (https://www.selenium.dev/downloads/). Kemudian kami mengkonfigurasinya ke dalam laluan termasuk persekitaran PHP.
Menulis ujian fungsi pertama
Sekarang kami mempunyai perisian dan persekitaran yang diperlukan, kami boleh menulis ujian fungsi berasaskan Selenium yang pertama. Kami akan mencipta kes ujian yang dipanggil "LoginTest" yang akan mensimulasikan pengguna log masuk ke aplikasi web menggunakan Selenium WebDriver.
Pertama, kita perlu menentukan kelas ujian. Kemudian, kami akan menulis kaedah ujian dalam kelas ujian ini dan mencipta contoh WebDriver dalam kaedah ujian.
Contoh:
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(); } }
Dalam contoh di atas, kami telah mentakrifkan kelas ujian "LoginTest" dan menentukan kaedah ujian bernama "testLogin" di dalamnya. Dalam kaedah ujian, kami menentukan melalui DesiredCapabilities bahawa ujian akan dijalankan dalam penyemak imbas Chrome. Kami kemudian mencipta contoh WebDriver dan menggunakannya untuk membuka URL untuk ujian. Dalam contoh ini, kami memasukkan nama pengguna dan kata laluan kami dan mengklik butang hantar. Akhir sekali, kami mengesahkan bahawa URL halaman adalah betul untuk membuktikan kejayaan ujian. Akhirnya, kami menutup contoh WebDriver.
Kod ini boleh menunjukkan kepada pembangun cara menggunakan Selenium WebDriver dalam PHP untuk ujian berfungsi. Pembangun hanya perlu menulis beberapa kod mudah untuk mengautomasikan interaksi dengan aplikasi web dan menjana laporan ujian automatik.
Kesimpulan
Selenium ialah alat ujian automatik yang boleh digunakan untuk menguji antara muka pengguna aplikasi web. Selenium WebDriver ialah ahli terbaharu dan paling berkuasa dalam keluarga Selenium, menyediakan antara muka pengaturcaraan yang konsisten dan meluas yang menyokong berbilang pelayar dan sistem pengendalian. Digabungkan dengan PHPUnit, rangka kerja ujian PHP yang popular, pembangun boleh menggunakan Selenium WebDriver untuk menulis ujian berfungsi automatik. Dalam artikel ini, kami telah menunjukkan cara menggunakan Selenium WebDriver dalam PHP untuk ujian fungsi automatik.
Atas ialah kandungan terperinci Bagaimana untuk menggunakan Selenium untuk ujian berfungsi dalam php?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!