mac环境上做基于appium的安卓自动化测试,一直报错如下:
selenium.common.exceptions.WebDriverException: Message: An unknown server-side error occurred while processing the command. Original error: The application at 'com.tencent.mm' does not exist or is not accessible
我的脚本如下:
from appium import webdriver
if __name__ == '__main__':
desired_caps = {}
# 平台名称
desired_caps['platformName'] = 'Android'
# 平台版本
desired_caps['platformVersion'] = '7.0'
# 设备名称: adb devices
desired_caps['deviceName'] = 'CSXDU17629000766'
# 路径, 绝对路径
desired_caps['app'] = 'com.tencent.mm'
# 启动
driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
才开始一直以为是mac上安卓的环境不兼容导致的,后来仔细推敲发现了问题如下:
'appActivity': 'com.soft.xxx.ui.home.HomeActivity'
这一个配置项是必须要加上的,要不然一直报错如上;完整的配置代码如下:
desired_caps = {
'platformName': 'Android', # 系统名称
'deviceName': 'CSXDU17629000766', # 设备名称
# 'deviceName': '4QX6R19724001163',
'platformVersion': '7.0', # 设备系统
# 'platformVersion': '9.0', # 设备系统
'appPackage': 'com.soft.blued', # 被测应用'appPackage'
# 'appPackage': 'com.xingfugou.app', # 被测应用'appPackage'
# com.soft.blued/.ui.welcome.WelcomeActivity
'appActivity': 'com.soft.xxx.ui.home.HomeActivity',
**# 填写上你自己的app相关配置,adb命令为:
#adb shell dumpsys activity activities|grep mResumedActivity
'automationName': 'uiautomator2',
# 'newCommandTimeout': 4000,
# 'unicodeKeyboard': True,
# 'resetKeyboard': True,
'noReset': True,
'chromeOptions': {'androidProcess': 'com.tencent.mm:appbrand2'}
}
driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
获取appActivity的命令为:adb shell dumpsys activity activities|grep mResumedActivity
注意:需要打开你所需要测试的app,然后输入该命令进行查看;
如果还有不明白的地方,私信我哈