Rumah > pembangunan bahagian belakang > tutorial php > Menggunakan PHP WebDriver untuk melaksanakan ujian automatik dipacu data

Menggunakan PHP WebDriver untuk melaksanakan ujian automatik dipacu data

WBOY
Lepaskan: 2023-06-16 06:32:02
asal
835 orang telah melayarinya

Dalam pembangunan perisian moden, ujian automatik telah menjadi bahagian yang sangat diperlukan. Ia boleh membantu pembangun menguji perisian dengan cepat dan tepat, dengan itu meningkatkan kecekapan pembangunan dan kualiti perisian. Dalam ujian automatik, ujian dipacu data ialah teknik ujian yang biasa digunakan yang boleh menjadikan ujian lebih stabil dan boleh diulang. Dalam pembangunan PHP, PHP WebDriver boleh membantu kami melaksanakan ujian automatik dipacu data.

PHP WebDriver ialah perpustakaan PHP yang boleh berinteraksi dengan Selenium WebDriver untuk mengawal penyemak imbas. Selenium WebDriver ialah rangka kerja ujian automatik popular yang menyokong berbilang bahasa pengaturcaraan, termasuk Java, Python, Ruby dan JavaScript. Menggunakan PHP WebDriver, kita boleh menggunakan PHP untuk menulis skrip ujian automatik untuk mencapai ujian automatik. Dalam artikel ini, kami akan memperkenalkan cara menggunakan PHP WebDriver untuk melaksanakan ujian automatik dipacu data.

Melaksanakan ujian automatik dipacu data memerlukan langkah berikut:

  1. Sediakan data ujian: data ujian boleh menjadi data yang disimpan dalam fail Excel atau CSV, atau dalam pangkalan data . Dalam artikel ini, kami akan menggunakan fail CSV untuk menyimpan data ujian.
  2. Tulis kes ujian: Kes ujian ialah langkah ujian khusus, termasuk membuka halaman web, memasukkan data, mengklik butang, dsb. Kami akan menggunakan PHP untuk menulis kes ujian dan melaksanakan pelaksanaan kes ujian menggunakan PHP WebDriver.
  3. Jalankan kes ujian: Kami akan menggunakan rangka kerja PHPUnit untuk menjalankan kes ujian.

Di bawah ini kami akan memperkenalkan secara terperinci cara melaksanakan ujian automatik dipacu data.

  1. Menyediakan data ujian

Kami akan menggunakan fail CSV untuk menyimpan data ujian. Fail CSV ialah format hamparan mudah yang boleh dibuat dan diedit dengan editor teks atau perisian seperti Excel. Fail CSV mengandungi berbilang baris dan lajur, setiap lajur dipisahkan dengan koma. Berikut ialah contoh fail CSV mudah:

username,password
user1,password1
user2,password2
user3,password3
Salin selepas log masuk

Dalam contoh ini, kami akan menguji pengesahan nama pengguna dan kata laluan Fail mengandungi tiga data ujian, setiap data ujian mengandungi dua lajur: nama pengguna dan kata laluan.

  1. Menulis kes ujian

Kami akan menggunakan rangka kerja PHPUnit untuk menulis kes ujian dan menggunakan PHP WebDriver untuk melaksanakan pelaksanaan kes ujian.

Pertama, kita perlu memasang PHPUnit dan PHP WebDriver. PHPUnit boleh dipasang menggunakan Composer, dan PHP WebDriver boleh dimuat turun dari GitHub dan kemudian dipasang menggunakan Composer. Selepas memasang PHPUnit dan PHP WebDriver, kami boleh mula menulis kes ujian.

Pertama, kita perlu mencipta kelas kes ujian yang mewarisi PHPUnitFrameworkTestCase, sebagai contoh:

<?php

use PHPUnitFrameworkTestCase;

class LoginTest extends TestCase
{
    public function testLogin()
    {

    }
}
Salin selepas log masuk

Dalam kelas kes ujian ini, kita boleh melaksanakan ujian melalui kaedah testLogin.

Kami perlu melaksanakan langkah-langkah kes ujian menggunakan PHP WebDriver dalam kaedah testLogin. Berikut ialah contoh:

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();
}
Salin selepas log masuk

Dalam contoh ini, kami menggunakan penyemak imbas Chrome untuk melaksanakan kes ujian. Mula-mula, kita perlu mencipta objek RemoteWebDriver dan kemudian gunakan kaedah get untuk membuka halaman web. Seterusnya, kami membaca nama pengguna dan kata laluan daripada fail CSV, masukkannya ke dalam halaman web, dan klik butang hantar. Akhir sekali, kita boleh menggunakan kaedah assertSame untuk menyemak sama ada keputusan ujian memenuhi jangkaan.

  1. Jalankan kes ujian

Selepas melengkapkan penulisan kes ujian, kita boleh menggunakan PHPUnit untuk menjalankan ujian. Kita boleh memasuki direktori tempat kes ujian terletak di terminal dan laksanakan arahan berikut untuk menjalankan ujian:

vendor/bin/phpunit LoginTest.php
Salin selepas log masuk

Selepas menjalankan ujian, PHPUnit akan mengeluarkan keputusan ujian.

Ringkasan:

Dalam artikel ini, kami memperkenalkan cara menggunakan PHP WebDriver untuk melaksanakan ujian automatik dipacu data. Kami menyediakan data ujian melalui fail CSV dan melaksanakan kes ujian menggunakan PHP WebDriver. Akhir sekali, kita boleh menggunakan PHPUnit untuk menjalankan ujian dan menyemak sama ada keputusan ujian sepadan dengan jangkaan. Dengan pendekatan ini, kami boleh mencapai ujian automatik yang cekap, stabil dan boleh berulang.

Atas ialah kandungan terperinci Menggunakan PHP WebDriver untuk melaksanakan ujian automatik dipacu data. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan