課程目的
可以使用Appium開發移動APP自動測試腳本,提高測試工作效率
面試時候能夠回答關於移動應用測試自動化和Appium相關的問題
appium是什麼?有什麼用?
appium是一個開源的、跨平臺(測試程序跨平臺、支持多平臺上的app測試)、多語言支持的(開發語言)移動應用自動化工具
測試對象
Appium的測試對象包括:原生app,混合app,移動web app;
所謂原生app,就是專門針對某一類移動設備而生的,所有界面和代碼都是專門爲平臺設計的。比如說手機自帶的計算器
混合app,指它的一部分是原生界面和代碼,而另一部分是內嵌web app。比如微信、支付寶、開發者頭條
微信消息界面、設置界面是原生代碼實現的,打開某個朋友圈或者打開別人發來的鏈接則是web部分,內嵌一個瀏覽器內核,有瀏覽器內核實現的
web app,完全是用手機瀏覽器打開的一個網址,就是一個觸屏版的網站,例如微信小程序
測試對象app運行平臺
appium的測試對象運行平臺包括 ios、Android、windows(windows手機、平板等移動設備上運行的app,目前使用人數少)
測試對象App運行環境:
真實設備
模擬器
測試程序語言支持
appium支持多種車需語言開發測試程序,基本上selenium支持的開發語言,appium都支持,比如:python、java、ruby、js
appiumserver本身是js開發的也是跨平臺的,但是因爲對蘋果設備的自動化,appium比較依賴蘋果的自動化框架,只能運行在蘋果機器上
自動化實現原理
被測試app,運行在真實設備或者模擬器中,這個測試系統運行起來,關係是這樣的:
測試程序(test script),告訴appium server,要做什麼操作。比如,要去點擊界面的一個元素。
怎麼告訴appium server呢?他們之間有http的連接,通過http請求發送命令給appium server,AS接收到測試程序的命令後,在發出命令給設備商運行的控制程序,控制程序調用響應自動化庫裏面的方法去執行界面的控制。
底層自動化工具
安卓是uiautomator
IOS10,蘋果完全去掉了以前的UIautomator的技術支持,所以現在,我們要進行蘋果app的自動化,只能使用XCUITest