下面是我們的代碼腳本:(環境準備作業就不在這里講述,自行百度)

下圖中,appium作為server端收到客戶端發出的post請求,可以看到請求引數就是我們代碼里面寫的那些欄位資訊

appium收到請求
appium接收到請求后,開始創建會話,如下圖:

接下來是一段提示資訊

意思是:在創建的會話中沒有"automationName(自動化測驗引擎)"屬性(在老版本里面用的是UiAutomator1–對應的Android版本是4.1以上UiAutomator2-對應的Android版本是4.3,所以這里我們要使用2)
如果沒填寫,Appium自動給按照默認值UiAutomator2來處理的,同時可以看到

這個屬性值在后面2.x版本中將作為必傳引數,同時Appium-1.13版本一下的automationName默認值為UIAutomator1,我這里使用的版本是1.21,為了后續代碼兼容性,我們在這里把它加到我們的代碼中,如下圖:

創建會話成功之后,就開始使用adb命令查找已經連接的設備串列資訊

圖中日志可以看到,已經找到1臺設備,并且已連接上(這里我用的是模擬器,所以看到的是IP地址+埠號),這里大家會有一個疑問,假如我連了多臺設備,那又該怎么處理呢?這個我們在后續的文章中來講述,
注:如果本機的adb環境變數沒有配置,這里就會報錯,
接下來檢查手機的Android版本資訊,如下圖:

下面開始Appium與手機進行通信,先在手機上安裝appium相關的apk

依次為:io.appium.settings、
io.appium.uiautomator2.server、appium-uiautomator2-server-v4.21.1.apk

整個流程基本結束,現在把整個流程總結如下:
1、發送http請求到appium server
2、appium server收到之后創建session
3、獲取已連接的設備,并找到對應的Android版本號資訊
4、獲取io.appium.settings的狀態,獲取它的版本資訊,確保其為最新的版本
獲取settings_apk-debug.apk的狀態,獲取它的版本資訊,確保其為最新的版本
獲取
io.appium.uiautomator2.server的狀態,獲取它的版本資訊,確保其為最新的版本
5、啟動手機上的uiautomator.server的服務,然后設定將本地appium server 收到的指令從本地的8200埠,轉發到設備的6790埠
6、跟手機創建會話
7、打開app
8、如果60s內appium server沒有收到客戶端的http請求,則主動關閉與客戶端、手機端的會話,然后關閉app

客戶端-appium-手機通信程序
最后:如果對軟體測驗、介面測驗、自動化測驗、技術同行、持續集成、面試經驗交流,感興趣可以進到 902061117,群內會有不定期的分享測驗資料,
如果文章對你有幫助,麻煩伸出發財小手點個贊,感謝您的支持,你的點贊是我持續更新的動力,
好文推薦
2021軟體測驗工程師面試題匯總(內含答案)-看完BATJ面試官對你豎起大拇指!
什么樣的人適合從事軟體測驗作業?
軟體測驗和軟體開發哪個發展更好
那個準點下班的人,比我先升職了…

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/294686.html
標籤:其他
上一篇:c++推箱子
