1. Objek ujian
Appium ialah alat sumber terbuka untuk mengautomasikan aplikasi asli, web mudah alih dan hibrid pada iOS, peranti Android dan platform desktop Windows.
"Aplikasi asli" merujuk kepada aplikasi yang ditulis dengan iOS, Android atau Windows SDK.
"Aplikasi web mudah alih" ialah aplikasi yang diakses dengan penyemak imbas mudah alih (Appium menyokong Safari, Chrome pada iOS dan penyemak imbas terbina dalam pada Android).
"Apl Hibrid" disertakan dengan pembalut di sekeliling "pandangan web" - kawalan asli yang digunakan untuk berinteraksi dengan kandungan web.
Yang penting: Appium ialah platform merentas: ia membolehkan anda menulis ujian untuk berbilang platform menggunakan API yang sama, membolehkan anda menggunakan semula kod antara suite ujian iOS, Android dan Windows.
2. Platform dan bahasa yang disokong
● appium ialah platform merentas dan menyokong sistem OSX, Windows dan Linux. Ia membolehkan penguji menggunakan set API yang sama untuk menulis skrip ujian automatik pada platform yang berbeza (iOS, Android), yang meningkatkan kebolehgunaan semula kod antara suite ujian iOS dan Android dengan ketara
● appium menyokong berbilang bahasa, Mengguna pakai mod reka bentuk C/S, selagi pelanggan boleh menghantar permintaan http ke pelayan
3 Prinsip kerja
Prinsip kerja APPIUM IOS
Di bawah ini kita akan melalui. Gambar menunjukkan prinsip kerja keseluruhan proses IOS APPIUM:
APPIUM Prinsip kerja bahagian Android
Mari kita lihat APPIUM android melalui gambar. Prinsip kerja keseluruhan proses:
Penjelasan:
Seluruh anak panah menghala ke gelung arahan yang lengkap
skrip webdriver memerlukan penguji automatik sendiri Tulis skrip ujian yang sepadan
Adalah disyorkan agar anda mempelajari tentang protokol wayar JSON, instrumen, UiAutomator
4, alat pemasangan
● bahasa ujian , seperti python
● klien appium
● pelayan appium
● Peranti mudah alih, jika anda menggunakan mesin maya, anda perlu memasangnya
5. Persediaan persekitaran
( 1) Pasang Android SDK
1 Android SDK (Software Development Kit) menyediakan perpustakaan API Android dan alat pembangunan untuk membina, menguji dan nyahpepijat aplikasi seperti yang digunakan untuk membangunkan dan menjalankan aplikasi perisian Android A
2 Sediakan alat kecil, seperti adb, aapt, uiautomatorview
3 Gunakan emulator Android untuk menguji peranti dilangkau
( 2) Pasang Pelayan appium
1 laman web rasmi Appium: https://pium.app/downloads/
2. AppiumForWindows.zip, appium.dmg)
3 Pasang dan konfigurasikan pembolehubah persekitaran appium
(3) Pasang python-client
1 sebagai bahasa python
2. Pasang Appium-Client, jika anda menggunakan python, anda boleh menggunakan pip untuk memasangnya: pip install Appium-Python-Client
Aplikasi dan operasi
①Panggil proses appium
1 Konfigurasikan Parameter peranti mudah alih, beritahu pelayan peranti mudah alih yang ingin saya hubungi
2 kawalan yang sepadan untuk beroperasi
3 Dapatkan Operasi kawalan yang anda dapat, seperti mengklik, mengisi parameter, dsb.
Langkah pertama ialah mengkonfigurasi parameter peranti telefon mudah alih
Konfigurasi asas Keupayaan yang Diingini Appium adalah seperti berikut:
#persekitaran Android
import unittest
daripada pemacu web import appium
desired_caps = { }
desired_caps['platformName'] = 'Android'
desired_caps ['platformVersion'] = '4.2'
desired_caps['deviceName'] = 'Android Emulator'
desired_caps['app'] = PATH('../../.. /apps/selendroid-test-app.apk')
desired_caps['appPackage'] = pakej
desired_caps['appActivity'] = aktiviti
self.driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
Penjelasan parameter biasa:
● deviceName: Tentukan peranti permulaan, seperti Android Emulator, iPhone Simulator, dsb.
● automasiName: Tentukan enjin automasi, lalai ialah appium
● platformName: Tentukan platform mudah alih, Android atau iOS
● platformVersion: Tentukan versi sistem platform. Contohnya, tentukan versi sistem Android sebagai 4.2
● appActivity: Aktiviti apl yang akan diuji untuk apl asli, tambahkan
● appPackage: pakej apl yang akan diuji maklumat Nama (pakej)
Langkah kedua ialah menangkap kawalan aplikasi mudah alih
Lihat parameter kawalan aplikasi mudah alih. melalui alat terbina dalam Android SDK uiautomatorviewer.bat (alat ini terletak dalam direktori /tools/ bin/)
1. Kedudukan ID
Penggunaan. :
driver.find_element_by_id('com.android.contacts: id/three')
2. Kedudukan nama
Penggunaan:
el = self.driver.find_element_by_name('missed call') el = self.driver.find_elements_by_name('missed call')
3 kedudukan nama kelas
Penggunaan:
els = self.driver.find_element_by_class_name('android.widget.ImageButton') els = self.driver.find_elements_by_class_name('android.widget.ImageButton')
4. Kedudukan ID Kebolehcapaian
Penggunaan:
el = self.driver.find_element_by_accessibility_id('三') el = self.driver .find_elements('_accessibility_id三')
5. penentududukan uiautomator android
Kaedah penggunaan:
el=self.driver.find_element_by_android_uiautomator( '(UiSelector baharu ).penerangan(simbol bintang ")')
els=self.driver.find_elements_by_android_uiautomator('UiSelector().boleh diklik(false)')
Langkah 3 , kawalan operasi
1.scroll
scroll(self, origin_el, destination_el):
Tatal dari element origin_el ke element destination_el
Contoh: driver(el1, el2)
Penggunaan: driver.scroll(el1,el2)
2.tap
tap(self, positions, duration=None):
Simulasi jari klik (sehingga lima jari), anda boleh menetapkan masa penahanan (milisaat)
Contoh: driver.tap([(100, 20), (100, 60), (100 , 100)], 500 )
Penggunaan: driver.tap([(x,y),(x1,y1)],500)
3 leret
leret(self, start_x,. start_y, end_x, end_y, duration=Tiada):
Leret dari titik A ke titik B, masa gelongsor ialah milisaat
Contoh: driver.swipe(100, 100 , 100, 400)
Penggunaan: driver.swipe(x1,y1,x2,y2,500)
4 keyevent
keyevent(self, keycode, metastate= Tiada):
Hantar kod kunci (Android sahaja), kod kunci boleh didapati di tapak web
Penggunaan: driver.keyevent('4')
5 🎜>press_keycode(self, keycode, metastate=None):
Hantar kod kunci (Android sahaja), kod kunci boleh didapati di tapak web
Penggunaan: driver.press_ keycode(' 4')
6.text
text(self):
Kembalikan nilai teks elemen
Penggunaan: element.text
7.klik
klik(diri):
Elemen klik
Penggunaan: element.click()
8.get_attribute
get_attribute(self, name):
Dapatkan nilai elemen yang berkaitan
Penggunaan: element.get_attribute("name")
9.size
saiz(diri):
Dapatkan saiz elemen (tinggi dan lebar)
Penggunaan saiz.elemen
10
page_source(self):Dapatkan sumber halaman semasaPenggunaan: driver.page_source11.quitquit(self ):Berhenti menjalankan skrip dan tutup setiap sambungan tetingkap yang berkaitanContoh: driver.quit()Penghakiman hasil pelaksanaanSelepas penggunaan kes dilaksanakan, penghakiman perlu dibuat Apabila lulus atau tidak, anda perlu membandingkannya dengan hasil jangkaan anda Secara amnya, anda boleh memilih untuk menegaskan untuk mencari sama ada bendera tertentu muncul, atau sama ada nilai teks elemen tertentu adalah sama. kepada nilai yang dijangkakan Anda juga boleh mengambil tangkapan skrin dan membandingkannya dengan gambar rujukan, dsb.Atas ialah kandungan terperinci Apakah mata pengetahuan rangka kerja Appium?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!