以下测试针对我的个人设置进行。我尝试在另一台计算机上安装 appium 测试设置,但遇到以下错误。看起来测试没有检测到 Android 设备。
完整错误:
UnknownError: An unknown server-side error occurred while processing the command. Original error: Error getting device API level. Original error: Error executing adbExec. Original error: 'Command '/Users/<user>/Library/Android/sdk/platform-tools/adb -P 5037 -s shell getprop ro.build.version.sdk' exited with code 1'; Command output: error: device '' not found
~ adb devices
List of devices attached
RF8RA0778HR device
安装 24 年 1 月 25 日起的最新版本:
测试设置:
1.安装Android SDK工具和JAVA JDK
Appium
brew install appium
安装uiautomator2驱动:
appium driver install uiautomator2
python版本:3.9.6
安装存储库要求(不确定这是否会影响任何内容):
pip install -r requirements.txt
需求.txt:
Appium-Python-Client==2.11.1
PySocks==1.7.1
PyYAML==5.3.1
attrs==23.1.0
certifi==2023.7.22
exceptiongroup==1.1.3
h11==0.14.0
idna==3.4
iniconfig==2.0.0
more-itertools==8.4.0
outcome==1.2.0
packaging==20.4
pip==22.3.1
pluggy==0.13.1
py==1.9.0
pyparsing==2.4.7
PySocks==1.7.1
pytest==5.4.3
pytest-html==2.1.1
pytest-metadata==1.10.0
pytest-testrail==2.9.0
PyYAML==5.3.1
requests==2.31.0
selenium==4.11.2
setuptools==65.5.1
six==1.15.0
sniffio==1.3.0
sortedcontainers==2.4.0
tomli==2.0.1
trio==0.22.2
trio-websocket==0.10.3
urllib3==2.0.4
wcwidth==0.2.5
wheel==0.38.4
wsproto==1.2.0
测试:
from appium import webdriver
from appium.webdriver.common.appiumby import AppiumBy
from utils.page_utils import PageUtils
capabilities = dict(
platformName="Android",
automationName="uiautomator2",
udid="RF8RA0778HR",
appPackage="com.android.settings",
appActivity=".Settings",
)
appium_server_url = "http://localhost:4723"
driver = webdriver.Remote(appium_server_url, capabilities)
page_utils = PageUtils(driver)
el = (
"xpath",
'//android.widget.TextView[@resource-id="android:id/title" and @text="Software update"]',
)
page_utils.android_scroll(el)
page_utils.click(el)
看起来这是 UiAutomator2 驱动程序的问题,已在 2.43.1 中解决
https://github.com/appium/appium/issues/19713
更新驱动程序为我解决了这个问题;希望它也适合你!