Berbagi teknologi

[python appium] pengujian otomatis

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Seri pengujian otomatis python+appium akan segera berakhir. Mari kita buat ringkasannya di blog ini.

Pertama-tama, saya ingin menjelaskan bahwa pengujian otomatis APP mungkin tidak digunakan oleh banyak perusahaan, tetapi ini juga diwajibkan oleh sebagian besar informasi rekrutmen pekerjaan insinyur pengujian otomatis dan insinyur pengujian senior, jadi untuk mendapatkan perawatan yang lebih baik, kami masih memerlukan menghabiskan waktu untuk menguasainya. Lagi pula, saya juga tidak akan punya masalah dengan uang.

Selanjutnya, mari kita rangkum ide untuk pengujian otomatis UI APP.

1. Pemilihan bahasa pengembangan
Bahasa pemrograman yang umum digunakan untuk pengujian otomatis antara lain: Python, Java, Javascript, Ruby, C#, PHP, dll. Secara umum, kita akan memilih bahasa pemrograman yang kita kenal untuk menulis skrip otomatis, tetapi untuk anak-anak yang pada dasarnya tidak memiliki dasar pemrograman (atau anak-anak yang fokus pada pengujian otomatis), disarankan untuk belajar menggunakan Python.

Dibandingkan dengan bahasa lain, Python memiliki keunggulan berikut untuk pengujian otomatis:

Untuk pemula, Python memiliki sintaksis yang ringkas, sangat mudah dibaca, dan mudah dipelajari.

Ada perpustakaan pihak ketiga yang kuat yang membuat pembuatan skrip lebih efisien.

Kerangka pengujian otomatis Pytest dengan Python adalah salah satu kerangka pengujian paling populer saat ini

2. Pemilihan kerangka pengujian UI
Setelah memilih bahasa pengembangan, kita perlu memilih kerangka pengujian UI. Saat ini, kerangka pengujian otomatisasi UI APP yang lebih umum atau banyak digunakan mencakup Appium, Airtest, dll.

1,Api
Sumber terbuka

Server Appium mendukung berjalan di Windows, macOS, dan Linux

Mendukung beberapa bahasa pemrograman utama, seperti Python, Java, Javascript, Ruby, dll.

Mendukung pengujian otomatis Android, ios, H5 (UiAutomator terintegrasi, kerangka kerja UiAutomation)

Konstruksi lingkungan lebih rumit

2,Uji Udara
Dikembangkan oleh NetEase (dokumen resmi), hanya mendukung bahasa python

Menyediakan IDE kuat yang mengintegrasikan kerangka pengujian Airtest dan Poco, yang sangat ramah bagi pemula

Integrasikan airtest, kerangka pengujian otomatis UI berdasarkan pengenalan gambar, sehingga Anda dapat menulis skrip otomatis meskipun Anda tidak memahami kode.

Lintas platform, dapat melakukan pengujian otomatis terhadap perangkat lunak aplikasi Windows, Android dan iOS

Lebih ramah terhadap pengujian game

Airtest dan Poco pada dasarnya adalah dua perpustakaan pihak ketiga untuk Python. Lingkungan pengujian tidak serumit Appium.

3. Pilih bingkai
Pilih kerangka kerja yang sesuai berdasarkan situasi aktual.

Anda dapat memberikan prioritas pada NetEase's Airtest (situs resmi Airtest) dalam situasi berikut:

Tidak ada dasar pemrograman

Pengujian permainan

Skenario pengujiannya relatif sederhana (Appium relatif besar)

Otomatisasi program mini Alipay (blogger saat ini menggunakan kerangka Poco yang terintegrasi dengan Airtest untuk pengujian otomatis program mini Alipay)

Disarankan untuk memilih Appium dalam situasi berikut:

Skenario pengujiannya relatif rumit (misalnya, diperlukan pengujian batch pada beberapa ponsel)

Bahasa skrip pengujian bukan Python (Airtest saat ini hanya mendukung Python)

3. Pemilihan kerangka pengujian unit
Berbeda dari kerangka pengujian UI yang disebutkan di atas, kerangka pengujian unit digunakan untuk memuat kasus uji, menjalankan kasus uji, menegaskan, mengeluarkan hasil pengujian, dll.

Bahasa pengembangan yang berbeda memiliki kerangka pengujian unitnya sendiri, seperti JUnit, TestNG, Robot, dll. untuk Java, dan unittest, pytest, dll. untuk Python. Blogger terutama menggunakan Python untuk pengujian otomatis, jadi di sini kami hanya menjelaskan kerangka pengujian unit Python.

Kerangka pengujian unit utama Python:

unittest, kerangka pengujian unit milik Python

pytest, dikembangkan berdasarkan unittest, mudah digunakan, memiliki informasi lebih detail, dan memiliki banyak plug-in.

kerangka robot, kerangka pengujian berbasis kata kunci berdasarkan Python, dengan antarmuka, laporan dan log bawaan, fungsi lengkap, jelas dan indah

Sangat disarankan untuk menggunakan pytest di sini, yang kuat dan mudah digunakan. Dokumentasi resminya dalam bahasa Inggris, silakan merujuk ke panduan pengguna Pytest.

4. Uji pengaturan lingkungan
1. Uji pemilihan komputer
Jika memungkinkan, disarankan untuk menggunakan mesin Mac khusus untuk pengujian otomatisasi UI, karena otomatisasi UI aplikasi ios hanya dapat dilakukan pada mesin Mac.

2. Uji pemilihan ponsel
Saat pertama kali mulai men-debug skrip pengujian, Anda dapat memilih emulator. Untuk emulator Android, Anda dapat memilih emulator Gernymotion atau Yeshen.

Setelah pengembangan seluruh proyek pengujian selesai, disarankan untuk beralih ke mesin nyata untuk menjalankan skrip otomatis, yang akan lebih mendekati skenario penggunaan pengguna sebenarnya.

3. Perkembangan lingkungan bahasa
Disarankan untuk menginstal versi python 3 atau lebih tinggi. Pejabat telah berhenti memperbarui dan memelihara versi python2.

4. Konstruksi lingkungan kerangka pengujian otomasi UI
Membangun Appium di lingkungan Windows sedikit lebih rumit. Membangun Appium di Mac sedikit lebih rumit. Saya akan menulis blog untuk membagikannya nanti.

Jika Anda memilih kerangka Airtest, silakan merujuk ke situs resminya.

5. Penulisan naskah
1. Tulis demo tes
Untuk memverifikasi apakah seluruh lingkungan pengujian berhasil dibangun dan apakah contoh umum dapat dijalankan, biasanya kita perlu menulis skrip pengujian sederhana dan menjalankannya. Jika lolos, berarti seluruh lingkungan berhasil dibangun.

2. Menentukan struktur direktori
Disarankan untuk menggunakan pola desain Objek Halaman untuk mengembangkan proyek pengujian otomatisasi UI APP.

3. Pilih laporan pengujian
Bahasa pengembangan yang berbeda dan kerangka pengujian unit yang berbeda dapat menggunakan laporan pengujian yang berbeda. Di python, kerangka unittest menggunakan HTMLTestRunner atau BSTestrunner untuk menghasilkan laporan pengujian. Kerangka kerja Pytest menggunakan pytest-html untuk menghasilkan laporan atau menyesuaikan laporan pengujian melalui daya tarik.

Setelah langkah-langkah di atas selesai, lanjutkan menambahkan kasus uji ke proyek uji.

6. Integrasi Jenkins
Setelah seluruh proyek pengujian otomatisasi UI aplikasi ditulis sesuai dengan langkah-langkah di atas, dan berjalan secara stabil selama jangka waktu tertentu, Anda dapat mempertimbangkan untuk mengintegrasikan Jenkins.

7. Ringkasan
Ringkasnya, otomatisasi APP UI dapat diimplementasikan dengan cara berikut:

1, python + appium + unittest + HTMLTestRunner

2, python + appium + pytest + pytest-html / allure

3, python + Airtest (AirtestIDE)

4, python + Poco + pytest + pytest-html / allure

Anda dapat memilih sesuai dengan situasi sebenarnya.

Akhir kata saya ucapkan terima kasih kepada semua yang membaca artikel saya dengan seksama. Timbal balik selalu diperlukan.

Informasi ini seharusnya menjadi gudang persiapan terlengkap dan terlengkap untuk teman-teman [pengujian perangkat lunak] Gudang ini juga telah menemani puluhan ribu teknisi penguji melalui perjalanan tersulit.