Bagikan melalui


Menentukan konfigurasi rangkaian pengujian optimal untuk Playwright Workspaces

Playwright Workspaces memungkinkan Anda mempercepat eksekusi pengujian Playwright dengan meningkatkan paralelisme pada skala cloud. Beberapa faktor memengaruhi waktu penyelesaian untuk rangkaian pengujian Anda. Menentukan konfigurasi optimal untuk mengurangi waktu penyelesaian rangkaian pengujian adalah khusus aplikasi dan memerlukan eksperimen. Artikel ini menjelaskan berbagai tingkat untuk mengonfigurasi paralelisme untuk pengujian Anda, faktor-faktor yang memengaruhi durasi pengujian, dan cara menentukan konfigurasi optimal Anda untuk meminimalkan waktu penyelesaian pengujian.

Di Playwright, Anda dapat menjalankan pengujian secara paralel dengan menggunakan proses pekerja. Dengan menggunakan Playwright Workspaces, Anda dapat lebih meningkatkan paralelisme dengan menggunakan browser yang dihosting cloud. Secara umum, menambahkan lebih banyak paralelisme mengurangi waktu untuk menyelesaikan rangkaian pengujian Anda. Namun, menambahkan lebih banyak proses pekerja tidak selalu menghasilkan waktu penyelesaian rangkaian pengujian yang lebih pendek. Misalnya, sumber daya komputasi komputer klien, latensi jaringan, atau kompleksitas pengujian juga dapat memengaruhi durasi pengujian.

Bagan berikut memberikan contoh menjalankan rangkaian pengujian. Dengan menjalankan rangkaian pengujian dengan Playwright Workspaces alih-alih secara lokal, Anda dapat secara signifikan meningkatkan paralelisme dan mengurangi waktu penyelesaian pengujian. Perhatikan bahwa, ketika berjalan dengan layanan, waktu penyelesaian mencapai batas minimum, setelah itu menambahkan lebih banyak pekerja hanya memiliki efek minimal. Bagan ini juga menunjukkan cara menggunakan lebih banyak sumber daya komputasi pada komputer klien secara positif memengaruhi waktu penyelesaian pengujian untuk pengujian yang berjalan dengan layanan.

Bagan garis yang memperlihatkan hubungan antara jumlah pekerja paralel dan waktu penyelesaian rangkaian pengujian untuk lingkungan eksekusi yang berbeda.

Proses pekerja

Di Playwright, semua pengujian berjalan dalam proses pekerja. Proses ini adalah proses OS, berjalan secara independen, paralel, diatur oleh runner Uji Playwright. Semua pekerja memiliki lingkungan yang identik dan setiap proses memulai browsernya sendiri.

Umumnya, meningkatkan jumlah pekerja paralel dapat mengurangi waktu yang diperlukan untuk menyelesaikan rangkaian pengujian penuh. Anda dapat mempelajari selengkapnya tentang paralelisme Uji Playwright dalam dokumentasi Playwright.

Seperti yang ditunjukkan sebelumnya dalam bagan, waktu penyelesaian rangkaian pengujian tidak terus berkurang saat Anda menambahkan lebih banyak proses pekerja. Ada faktor lain yang memengaruhi durasi rangkaian pengujian.

Menjalankan pengujian secara lokal

Secara default, @playwright/test membatasi jumlah pekerja hingga 1/2 dari jumlah inti CPU pada komputer Anda. Anda dapat mengambil alih jumlah pekerja untuk menjalankan pengujian Anda.

Saat Anda menjalankan pengujian secara lokal, jumlah proses pekerja terbatas pada jumlah inti CPU pada komputer Anda. Di luar titik tertentu, menambahkan lebih banyak pekerja menyebabkan ketidakcocokan sumber daya, yang memperlambat setiap pekerja dan memperkenalkan kelemahan pengujian.

Untuk mengambil alih jumlah pekerja menggunakan --workers bendera baris perintah:

npx playwright test --workers=10

Untuk menentukan jumlah pekerja dalam playwright.config.ts menggunakan workers pengaturan:

export default defineConfig({
  ...
  workers: 10,
  ...
});

Menjalankan pengujian dengan layanan

Saat menggunakan Playwright Workspaces, Anda dapat meningkatkan jumlah pekerja dalam skala cloud ke angka yang lebih besar. Saat Anda menggunakan layanan, proses pekerja terus berjalan secara lokal, tetapi instans browser intensif sumber daya sekarang berjalan dari jarak jauh di cloud.

Karena proses pekerja masih berjalan pada komputer klien (stasiun kerja pengembang atau mesin agen CI), komputer klien mungkin masih menjadi hambatan untuk eksekusi yang dapat diskalakan saat Anda menambahkan lebih banyak pekerja. Pelajari bagaimana Anda dapat menentukan konfigurasi optimal.

Anda dapat menentukan jumlah pekerja pada baris perintah dengan --workers bendera:

npx playwright test --config=playwright.service.config.ts --workers=30

Secara bergantian Anda dapat menentukan jumlah pekerja dalam playwright.service.config.ts menggunakan workers pengaturan:

export default defineConfig({
  ...
  workers: 30,
  ...
});

Faktor-faktor yang memengaruhi waktu penyelesaian

Selain jumlah proses pekerja paralel, ada beberapa faktor yang memengaruhi waktu penyelesaian rangkaian pengujian.

Faktor Efek pada durasi pengujian
Sumber daya komputasi komputer klien Proses pekerja masih berjalan pada komputer klien (stasiun kerja pengembang atau mesin agen CI) dan perlu berkomunikasi dengan browser jarak jauh. Meningkatkan jumlah pekerja paralel dapat mengakibatkan ketidakcocokan sumber daya pada komputer klien, dan memperlambat pengujian.
Kompleksitas kode pengujian Ketika kompleksitas kode pengujian meningkat, waktu untuk menyelesaikan pengujian juga dapat meningkat.
Latensi antara komputer klien dan browser jarak jauh Pekerja berjalan pada komputer klien dan berkomunikasi dengan browser jarak jauh. Bergantung pada wilayah Azure tempat browser dihosting, latensi jaringan mungkin meningkat. Pelajari bagaimana Anda dapat mengoptimalkan latensi regional di Ruang Kerja Playwright.
Pengaturan konfigurasi Playwright Pengaturan Playwright seperti batas waktu layanan, percobaan ulang, atau pelacakan dapat berdampak buruk pada waktu penyelesaian pengujian. Bereksperimenlah dengan konfigurasi optimal untuk pengaturan ini saat menjalankan pengujian Anda di cloud.
Kapasitas penanganan beban aplikasi target Menjalankan pengujian dengan Playwright Workspaces memungkinkan Anda menjalankan dengan paralelisme yang lebih tinggi, yang menghasilkan beban yang lebih tinggi pada aplikasi target. Verifikasi bahwa aplikasi dapat menangani beban yang dihasilkan dengan menjalankan pengujian Playwright Anda.

Pelajari selengkapnya tentang alur kerja untuk menentukan konfigurasi optimal untuk meminimalkan durasi rangkaian pengujian.

Alur kerja untuk menentukan konfigurasi optimal Anda

Konfigurasi optimal untuk meminimalkan waktu penyelesaian rangkaian pengujian khusus untuk aplikasi dan lingkungan Anda. Untuk menentukan konfigurasi optimal Anda, bereksperimenlah dengan tingkat paralelisasi yang berbeda, konfigurasi perangkat keras komputer klien, atau penyiapan rangkaian pengujian.

Pendekatan berikut dapat membantu Anda menemukan konfigurasi optimal untuk menjalankan pengujian Anda dengan Playwright Workspaces:

1. Tentukan tujuan waktu penyelesaian pengujian Anda

Tentukan apa itu waktu penyelesaian rangkaian pengujian yang dapat diterima dan biaya terkait per eksekusi pengujian.

Tergantung pada skenarionya, persyaratan Anda untuk penyelesaian pengujian mungkin berbeda. Saat Anda menjalankan pengujian end-to-end dengan setiap perubahan kode, sebagai bagian dari alur kerja integrasi berkelanjutan (CI), meminimalkan waktu penyelesaian pengujian sangat penting. Saat Anda menjadwalkan pengujian end-to-end dalam eksekusi batch (malam hari), Anda mungkin memiliki persyaratan yang kurang menuntut.

2. Verifikasi bahwa pengujian Anda berjalan dengan benar pada komputer klien

Sebelum menjalankan rangkaian pengujian Playwright dengan Playwright Workspaces, pastikan pengujian Anda berjalan dengan benar di komputer klien Anda. Jika Anda menjalankan pengujian sebagai bagian dari alur kerja CI, validasi bahwa pengujian Anda berjalan dengan benar pada mesin agen CI. Pastikan Anda menjalankan pengujian dengan minimal dua pekerja paralel untuk memverifikasi bahwa pengujian Anda dikonfigurasi dengan benar untuk eksekusi paralel. Pelajari selengkapnya tentang paralelisme di Playwright.

3. Jalankan dengan browser yang dihosting cloud di Playwright Workspaces

Setelah pengujian Anda berjalan dengan benar, tambahkan konfigurasi layanan untuk menjalankan pengujian Anda di browser yang dihosting cloud dengan layanan. Validasi bahwa pengujian Anda terus berjalan dengan benar dari komputer klien Anda (stasiun kerja pengembang atau mesin agen CI).

Mulai menggunakan Mulai Cepat: jalankan pengujian Playwright dalam skala besar dengan Playwright Workspaces.

4. Verifikasi browser jarak jauh wilayah Azure

Ruang Kerja Playwright dapat menggunakan browser jarak jauh di wilayah Azure yang terdekat dengan komputer klien Anda, atau menggunakan wilayah tetap tempat ruang kerja Anda dibuat.

Pelajari cara mengoptimalkan latensi regional untuk ruang kerja Anda.

5. Bereksperimenlah dengan jumlah pekerja paralel

Bereksperimenlah dengan jumlah pekerja paralel untuk menjalankan pengujian Anda. Ukur waktu penyelesaian pengujian dan bandingkan dengan tujuan target yang Anda tetapkan sebelumnya.

Perhatikan pada titik mana waktu penyelesaian pengujian tidak lagi berkurang saat Anda menambahkan lebih banyak pekerja. Pindah ke langkah berikutnya untuk mengoptimalkan penyiapan Anda lebih lanjut.

6. Skalakan klien

Saat Anda meningkatkan paralelisme, komputer klien mungkin mengalami ketidakcocokan sumber daya komputasi. Tingkatkan sumber daya komputasi pada komputer klien, misalnya dengan memilih runner yang dihosting GitHub yang lebih besar.

Atau, jika Anda memiliki batasan perangkat keras, Anda dapat memecah pengujian klien Anda.

Jalankan ulang pengujian dan eksperimen Anda dengan jumlah pekerja paralel.

7. Perbarui pengaturan konfigurasi pengujian Playwright Anda

Konfigurasikan pengaturan konfigurasi pengujian Playwright Anda, seperti batas waktu pengujian, pengaturan pelacakan, atau percobaan ulang.