深圳軟體測試學習:如何在Android手機上進行自動化測試【千鋒】
深圳軟體測試學習:如何在Android手機上進行自動化測試【千鋒】
如何使用Poco對Android原生應用進行測試
Poco支援直接對任何Android原生應用(非遊戲引擎,非webview)進行UI層次結構識別,用法上與Poco在其他平臺上一模一樣。
在AirtestIDE的Poco Assistant皮膚中選擇Android模式之後,AirtestIDE會開始自動向手機裡安裝Pocoservice.apk和Pocoservice-test.apk,部分型號手機需要手動點選確認安裝才能順利安裝。
安裝完成後,AirtestIDE會自動啟動PocoService,它會定時抓取Android上介面的層次結構資訊,稍等片刻就可以在AirtestIDE介面中看到當前介面的UI結構結構樹。
如果Pocoservice啟動失敗,會導致Pocoservice.apk反覆重灌,此時可以檢查以下幾個方面:
是否有Android版本過低,Poco支援≥19,Android SDK API即Android 4.4及以上
請關閉PC或手機上連線的網路代理代理,否則可能導致連不上Poco
可以嘗試解除安裝手機中的2個Pocoservice相關的APK後,手工重新安裝一遍,在poco\poco\drivers\android\lib目錄下能夠找到這兩個APK
部分vivo和oppo手機需要將手機設定-輸入法設定中,把Yosemite輸入法設定為替換輸入法+當前輸入法
一個使用計算器的例子
在這裡我們提供一個使用Poco對一個計算器應用編寫程式碼的例子,並同時將App安裝到手機上。
按照前面說的,在AirtestIDE中的Poco輔助視窗拖放選單中選擇Android後,AirtestIDE將自動啟動Pocoservice,顯示出當前的UI控制元件結構樹。此後就可以在AirtestIDE中進行Poco語句的編寫和錄製了。
程式碼示例
下面這段程式碼示例將演示一個簡單的功能:點選計算器的介面,實現一個1 + 1 = 2的運算驗證。
from poco.drivers.android.uiautomation import AndroidUiautomationPoco
poco = AndroidUiautomationPoco()
poco(‘com.google.android.calculator:id/digit_1’).click()
poco(‘com.google.android.calculator:id/op_add’).click()
poco(‘com.google.android.calculator:id/digit_1’).click()
poco(‘com.google.android.calculator:id/eq’).click()
result = poco(‘com.google.android.calculator:id/formula’).get_text()
assert_equal(result, ‘2’, ‘1+1=2 ^^’)
在這段程式碼中,我們使用poco = AndroidUiautomationPoco()初始化了一個poco物件,然後分別選擇了1 + 1按鈕進行點選操作後,使用get_text介面非常輕鬆地獲取到了結果控制元件的值2,並且使用斷言語句進行結果驗證。
同時連線多臺手機使用波科
一個指令碼里可以連線多臺Android手機,並且用set_current介面在手機之間切換:
from airtest.core.api import connect_device
dev1 = connect_device(“Android://127.0.0.1:5037/serialno1”) # 連上第一臺手機
dev2 = connect_device(“Android://127.0.0.1:5037/serialno2”) # 第二臺手機
set_current(1)
假如我們在連上手機後,想要分別使用poco去獲取控制元件和單擊兩個臺不同的手機,此時需要分別初始化兩個poco,就像這樣:
from airtest.core.api import connect_device
dev1 = connect_device(“Android://127.0.0.1:5037/serialno1”) # 連上第一臺手機
poco1 = AndroidUiautomationPoco(dev1)
dev2 = connect_device(“Android://127.0.0.1:5037/serialno2”) # 第二臺手機
poco2 = AndroidUiautomationPoco(dev2)
set_current(1) # 切到第二臺手機
poco2(‘com.google.android.calculator:id/digit_1’).click()
同理,如果不使用connect_device介面連線手機,或者透過直接在命令列中插入–device來自動連線手機的話,不需要在程式碼裡重複執行connect_device。此時只需要分別獲取到裝置物件,並使用裝置物件初始化poco就可以了:
from airtest.core.api import G
print(G.DEVICE_LIST) # 假設當前總共有2臺手機
poco1 = AndroidUiautomationPoco(G.DEVICE_LIST[0])
poco2 = AndroidUiautomationPoco(G.DEVICE_LIST[1])
————————————————
版權宣告:本文為CSDN博主「qq1494648730」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處連結及本宣告。
原文連結:https://blog.csdn.net/QQ1494648730/article/details/103252902
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69947096/viewspace-2665714/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 深圳軟體測試培訓學習:Android常用自動化測試工具【千鋒】Android
- 深圳軟體測試培訓學習:Java Random介紹--【千鋒】Javarandom
- 深圳軟體測試培訓學習:Java連線MySQL--【千鋒】JavaMySql
- 深圳軟體測試學習:寫不好測試用例是因為沒時間嗎?【千鋒】
- 軟體測試:自動化測試
- 軟體測試如何自學?收下這份《2020千鋒效能測試入門影片教程》
- 軟體測試筆記——11.自動化測試和手動測試的選擇筆記
- 軟體測試理論(2)自動化測試
- 自動化測試可替代手動測試?軟體測試這個誤區你有嗎?
- 如何學習自動化測試?從手工測試到自動化測試的過程…
- 何時適合進行自動化測試?(上)
- 軟體測試專案實戰之功能測試 千鋒實戰教程
- 有效進行自動化測試,這幾個軟體測試工具一定要收藏好!!!
- Python自動化測試怎麼學?軟體測試進階Python自動化,收藏這篇文章就夠了Python
- 使用 PostMan 進行自動化測試Postman
- 使用PostMan進行自動化測試Postman
- Eggplant—HMI自動化測試軟體
- 通用自動化測試軟體 — TAE
- Eggplant—HMI 自動化測試軟體
- 軟體測試學習——移動端功能測試分析
- 【編測編學】自動化測試面試必背(上)面試
- 軟體測試為什麼需要自動化測試框架?權威軟體測試公司分享框架
- 軟體自動化測試工具的歷史演進
- 軟體自動化測試的作用有哪些?為什麼要選擇專業軟體測試公司進行?
- 軟體測試學習教程—軟體測試質量
- 軟體測試學習 ——五種軟體測試模型模型
- 軟體自動化測試有什麼優勢?自動化測試框架有哪些?框架
- 真的要進行介面測試自動化?
- Flutter應用進行自動化測試Flutter
- 軟體測試必備 - 14個介面與自動化測試練習網站網站
- 軟體測試案例實踐:銀行如何做大規模自動化測試?
- Android 談談自動化測試Android
- Android 自動化測試之 MonkeyAndroid
- Android自動化測試入門(四)單元測試Android
- 如何有效地進行自動化測試?靠譜軟體測評中心安利
- 軟體測試學習教程—軟體測試基本知識
- 軟體測試學習教程—迴歸測試
- 自動化測試系列 —— UI自動化測試UI