Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Penyepaduan lancar PHP WebDriver dan Docker: mencapai ujian yang sangat automatik

Penyepaduan lancar PHP WebDriver dan Docker: mencapai ujian yang sangat automatik

WBOY
WBOYasal
2023-06-16 10:52:401703semak imbas

Dengan perkembangan pesat pembangunan perisian, ujian automatik telah menjadi bahagian yang amat diperlukan dalam bidang ujian perisian. Ujian automatik boleh meningkatkan kecekapan ujian dengan ketara dan menjimatkan masa serta kos. Dalam proses ini, adalah perkara biasa untuk menggunakan teknologi Selenium WebDriver. Teknologi Docker juga merupakan bahagian yang sangat penting dalam ujian perisian moden kerana ia boleh mencapai persekitaran ujian yang cekap dan piawai. Artikel ini akan memperkenalkan penyepaduan lancar PHP WebDriver dan Docker untuk membantu penguji mencapai ujian yang sangat automatik.

1. Apakah itu PHP WebDriver?

PHP WebDriver ialah perpustakaan PHP yang mengikat Selenium WebDriver. Ia membolehkan pengaturcara PHP menggunakan PHP untuk ujian WebDriver. PHP WebDriver menyediakan banyak API yang mudah digunakan yang membolehkan anda menentukan penyemak imbas, membuka halaman web, mengisi borang lengkap dan mengenal pasti elemen dan atribut elemen, sama seperti dalam penyemak imbas sebenar.

2. Apakah itu Docker?

Docker ialah teknologi kontena yang popular. Ia membolehkan pembangun dan penguji membina, menggunakan dan menjalankan versi aplikasi dalam kontena dengan cepat. Bekas Docker menyediakan persekitaran masa jalan yang bebas, mudah alih dan boleh digunakan semula untuk memastikan aplikasi berjalan seperti yang diharapkan di mana-mana sahaja ia digunakan.

3. Bagaimana untuk menggabungkan Docker dan PHP WebDriver?

Menggabungkan PHP WebDriver dengan Docker boleh mencapai ujian yang sangat automatik dan meningkatkan kualiti dan kelajuan ujian. Menggunakan bekas Docker, anda boleh membina dan mengurus persekitaran ujian dengan mudah. Langkah-langkah untuk menggunakan PHP WebDriver dengan Docker adalah seperti berikut:

Langkah 1: Buat bekas Docker

Sebelum menggunakan PHP WebDriver untuk ujian, anda perlu menyediakan persekitaran ujian. Docker memudahkan untuk menyediakan dan mengurus persekitaran ujian. Fail Docker ialah fail yang mengandungi semua arahan yang diperlukan untuk membina bekas.

Sebagai contoh, berikut ialah fail Docker berdasarkan Ubuntu 18.04:

FROM ubuntu:18.04

RUN apt-get update && 
    apt-get -y install curl wget gnupg2 unzip && 
    curl -sL https://deb.nodesource.com/setup_10.x | bash - && 
    apt-get install -y nodejs && 
    wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb && 
    apt-get -y install ./google-chrome-stable_current_amd64.deb && 
    wget https://chromedriver.storage.googleapis.com/80.0.3987.106/chromedriver_linux64.zip && 
    unzip chromedriver_linux64.zip && 
    mv chromedriver /usr/bin/chromedriver && 
    chmod +x /usr/bin/chromedriver

CMD sleep infinity

Fail Docker ini menggunakan Ubuntu 18.04 sebagai imej asas. Ia juga memasang penyemak imbas Chrome dan pemacu Chrome supaya ia boleh digunakan untuk ujian automatik. Akhirnya, arahan CMD menetapkan bekas untuk terus berjalan.

Langkah 2: Mulakan bekas Docker

Gunakan arahan "docker build" untuk membina Dockerfile menjadi imej Docker. Seterusnya, bekas boleh dimulakan menggunakan arahan "docker run". Contohnya:

docker build -t my-container .
docker run -d my-container

Ini akan mencipta bekas yang dipanggil "bekas saya" dan menjalankan ujian padanya. Gunakan pilihan -d untuk meletakkan bekas ke latar belakang.

Langkah 3: Gunakan PHP WebDriver dalam skrip PHP

Kini anda boleh menggunakan PHP WebDriver dalam bekas Docker untuk ujian. Berikut ialah contoh penggunaan skrip PHP WebDriver:

<?php
require_once('vendor/autoload.php');

$host = 'http://localhost:4444/wd/hub'; // Selenium server URL
$options = new FacebookWebDriverChromeChromeOptions();
$options->addArguments(['--headless']); // Run Chrome in headless mode

$capabilities = FacebookWebDriverRemoteDesiredCapabilities::chrome();
$capabilities->setCapability(FacebookWebDriverChromeChromeOptions::CAPABILITY, $options);

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

$driver->get('https://www.google.com/');
$driver->findElement(FacebookWebDriverWebDriverBy::name('q'))
    ->sendKeys('Selenium PHP')
    ->submit();

$driver->quit();

Skrip ini menggunakan Composer untuk memasang pustaka PHP WebDriver. Kelas ChromeOptions dan DesiredCapabilities menentukan pilihan penyemak imbas dan pemacu. Untuk menjalankan penyemak imbas, mulakan kelas RemoteWebDriver dengan URL dan kemudian gunakannya untuk membuka halaman web, mengenal pasti elemen, mengisi borang, dsb.

Langkah 4: Jalankan ujian

Menjalankan ujian adalah sangat mudah. Cuma navigasi ke direktori di mana skrip PHP terletak di terminal dan jalankan skrip menggunakan arahan php pada baris arahan.

Contohnya:

php my-test.php

Arahan ini akan menjalankan ujian dalam bekas Docker.

4. Ringkasan

Menggunakan PHP WebDriver dengan Docker boleh mencapai ujian yang sangat automatik. Persekitaran ujian boleh dibuat dan diurus dengan mudah menggunakan bekas Docker. PHP WebDriver dan Docker digunakan bersama untuk membolehkan penguji membina dan menjalankan ujian automatik dengan cepat serta meningkatkan kualiti dan kelajuan ujian.

Atas ialah kandungan terperinci Penyepaduan lancar PHP WebDriver dan Docker: mencapai ujian yang sangat automatik. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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