原創文章,歡迎轉載。轉載請注明:轉載自
IT人故事會,謝謝!
原文鏈接地址:
「docker實戰篇」python的docker爬蟲技術-移動自動化控制工具appium工具(17)
Appium是一個開源測試自動化框架,可用于原生,混合和移動Web應用程序測試。 它使用WebDriver協議驅動iOS,Android應用程序。直接多種語言:java,python等等。
appium架構
desired capability
desired capability的功能是配置Appium會話。他們告訴Appium服務器您想要自動化的平臺和應用程序。官網介紹:
http://appium.io/slate/en/master/?java#appium-server-capabilities
Desired Capability的值-公用
Desired Capability的值-android
image.png
Desired Capability的值-ios
Appium優缺點
優點:
支持多種應用程序的測試
支持使用多種語言來編寫測試腳本
被測試的應用程序不需要特殊的編譯
Appium支持應用之間跳轉的測試
缺點:
由于服務端運行在電腦上,該工具必須連接電腦才可以運行
只能用于UI的自動化測試,在很多情況下的測試驗證只能通過驗證界面來進行
操作控件
獲取控件信息
手勢部分
主要有點擊、滑動、拖拽、放縮等常用的操作
系統操作API
系統操作用于模擬硬件操作、設置網絡環境、獲取系統信息等,下表簡單的介紹一下常用的方法。
如何獲取參數
設置---關于手機
platformName
platformVersion
命令: adb devices
deviceName
image.png
命令:
adb shell
logcat | grep cmp=
點擊start session
截圖寫錯了,寫成了onReset 應該是noReset,自動跳過引導頁面
進入了界面
如何錄制腳本
1.start Recording
2.Select Elements,選中后選擇一個用戶名輸入框
3.點擊send keys
4.輸入idig8.com 選擇send keys
5.模擬器用戶名框也發生了變化
6.Select Elements,選中后選擇請輸入密碼框
7.點擊send keys
8.模擬器密碼框發生變化
image.png
9.Select Elements選擇登錄,點擊Tap
有反應了,哈哈
腳本出來了
MobileElement el6 = (MobileElement) driver.findElementById("com.tal.kaoyan:id/login_email_edittext");
el6.sendKeys("idig8");
MobileElement el7 = (MobileElement) driver.findElementById("com.tal.kaoyan:id/login_password_edittext");
el7.sendKeys("password");
MobileElement el8 = (MobileElement) driver.findElementById("com.tal.kaoyan:id/login_login_btn");
el8.click();
真實的用戶名和密碼,登錄到系統內部。模擬器刷新了,但是appium沒有刷新可以點擊這個按鈕。
PS:appium明顯要比安卓的ui那個工具好用多了,重點是開頭的那段配置,一開始的截圖,我的Andriod單詞寫錯了,是onReset,截圖寫成了onReset,希望不會誤導老鐵們。