前言
appium desktop V1.7.1版本使用命令行版本啟動appium后,使用Uiautomator2定位toast信息報錯:appium-uiautomator2-server-v0.3.0.apk does not exist or is not accessible
主要原因是缺少appium-uiautomator2-server-v0.3.0.apk這個apk文件
問題分析
打開cmd啟動命令行版本,appium V1.7.1
使用Uiautomator2定位toast信息
from appium import webdriver
desired_caps = {
"platformName": "Android",
"deviceName": "emulator-5554", # 設備名稱
"platformVersion": "5.1.1", # android系統版本號
"appPackage": "com.yipiao", # app包名
"appActivity": "com.yipiao.activity.LaunchActivity", # 啟動launch Activity
"noReset": True, # 不清空數據
'automationName': 'Uiautomator2' # 使用Uiautomator2
}
driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub", desired_caps)
運行代碼報錯信息如下:
selenium.common.exceptions.WebDriverException:Message: An unknown server-side error occurred while processing the command.
Original error: The file at path C:\Users\dell\AppData\Roaming\npm\node_modules\appium\node_modules
_appium-uiautomator2-driver@0.11.0@appium-uiautomator2-driver\uiautomator2\appium-uiautomator2-server-v0.3.0.apk
does not exist or is not accessible
分析問題原因
從報錯信息看出,uiautomator2路徑下找不到appium-uiautomator2-server-v0.3.0.apk這個文件,於是順着報錯給的路徑查看該目錄
會發現_appium-uiautomator2-driver@0.11.0@appium-uiautomator2-drive 目錄(或者appium-uiautomator2-driver目錄)下找不到uiautomator2這個文件
之后用appium desktop v1.2.6桌面版appium server V1.7.1卻是正常的,去appium-uiautomator2-driver/uiautomator2目錄可以看到有2個apk文件
(桌面版完整路徑:C:\Users\dell\AppData\Local\Programs\appium-desktop\resources\app\node_modules\appium\node_modules\appium-uiautomator2-driver\uiautomator2)
於是會發現命令行版本有個坑,少了這2個文件
解決問題
解決辦法就是去下載到這兩個文件,放到對應目錄,重新啟動appium就可以了,github下載地址:https://github.com/appium/appium-uiautomator2-server/releases/tag/v0.3.0
在appium-uiautomator2-driver下新建一個uiautomator2目錄,把下載的2個apk放進去就可以了
桌面版完整地址:C:\Users\dell\AppData\Local\Programs\appium-desktop\resources\app\node_modules\appium\node_modules\appium-uiautomator2-driver\uiautomator2
命令行版本完整地址:C:\Users\dell\AppData\Roaming\npm\node_modules\appium\node_modules\appium-uiautomator2-driver\uiautomator2
不會下載的,去QQ群:779429633 群文件下載