首页 - 信息 - Appium在android7.0上无法启动问题

Appium在android7.0上无法启动问题

2023-10-10 11:04
-->

前言

由于最近很多安卓手机都升级到了7.0系统,所以有些朋友还在使用appium 1.4版本。运行android 7.0 app自动化时,遇到无法启动的问题:WebDriverException: Message: A new session Could not be create

我的电脑环境:

  • python 3.6
  • 安卓7.0
  • appium 1.4.13

Android7.0遇到问题

1。执行代码:

#编码:utf-8 #作者:上海-悠悠 从 appium 导入 webdriver
从时间导入 sleep
desired_caps = {
'平台名称': 'Android',
'设备名称': 'A5RNW18316011440',
'平台版本': '7.0',
'appPackage': 'com.baidu.yuedu',
'appActivity': 'com.baidu.yuedu.splash.SplashActivity'
}
driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub',desired_caps)

2.执行后报错如下:无法创建新会话

D:\soft\python3.6\python.exe D:/xcm_app_test/app/test_www.gsm-guard.net
追溯(最近一次调用最后一次):
文件“D:/xcm_app_test/app/test_www.gsm-guard.net”,第 11 行,位于
driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub',desired_caps)
文件“D:\soft\python3.6\lib\site-packages\appium\webdriver\www.gsm-guard.net”,第 36 行,位于 __init__
super(WebDriver, self).__init__(command_executor,desired_capability, browser_profile, proxy, keep_alive)
文件“D:\soft\python3.6\lib\site-packages\selenium\webdriver\remote\www.gsm-guard.net”,第 90 行,位于 __init__
self.start_session(所需功能,浏览器配置文件)
文件“D:\soft\python3.6\lib\site-packages\selenium\webdriver\remote\www.gsm-guard.net”,第 177 行,在 start_session
响应= self.execute(www.gsm-guard.net_SESSION,功能)
文件“D:\soft\python3.6\lib\site-packages\selenium\webdriver\remote\www.gsm-guard.net”,第 236 行,执行
self.error_handler.check_response(响应)
文件“D:\soft\python3.6\lib\site-packages\selenium\webdriver\remote\www.gsm-guard.net”,第 192 行,在 check_response
引发异常类(消息,屏幕,堆栈跟踪)
selenium.common.exceptions.WebDriverException:消息:无法创建新会话。 (原始错误:命令失败:)

问题分析

1。遇到无法启动的问题时,报的错误都是一样的:无法创建新会话。看小编报的错误是没有用的。这时候就需要打开appium日志界面,分析报错的步骤。 ,日志太多了,就贴一些吧

> 信息:[调试] 设备处于 API 级别 24
> 信息:设备 API 级别为:24
> 信息:[调试] 提取语言字符串:默认
> info: [debug] Apk 本地不存在
> info: [debug] 无法获取字符串,但看起来我们无论如何都有一个旧的字符串文件,所以忽略

2。从上面的日志可以看出,当前设备API版本为24,appium1.4支持的最高API版本为23。打开appium客户端,点击左上角的机器人图标,点击platformVersion如图下面

3。也就是说,Appium 1.4支持的最高Android版本是6.0。查资料得知Android 7.0需要Appium 1.6.3以上版本支持。

解决问题

1。重新下载最新版本的appium。 appium1.6之后的版本以appium-desktop命名。我目前使用的版本是appium-desktop1.2.2。安装后版本为V1.7.1

2。所有版本的appium-desktop都可以从github下载:

Appium-desktop所有版本下载地址

3。 appium-desktop 和旧的 appium 版本可以共存。无需卸载以前的版本。重新打开appium 1.7版本,运行代码

4。当我重新运行它时,我发现了这个错误。从错误信息来看,似乎是手机上安装的解锁版本不匹配(因为有我之前跑的appium 1.4版本的残留)。 解决方案:手动卸载手机上的appium。只需设置并解锁

selenium.common.exceptions.WebDriverException:消息:处理命令时发生未知的服务器端错误。原始错误:执行 adbExec 时出错。原始错误:'命令'D\:\\soft\\Android\\platform -tools\\adb.exe -P 5037 -s A5RNW18316011440 install C\:\\Users\\admin\\AppData\\Local\\Programs \\appium-desktop\\resources\\app\\node_modules\\appium\ \node_modules\\appium-unlock\\bin\\unlock_apk-debug.apk' 退出,代码为 1'; Stderr: '无法安装 C:\Users\admin\AppData\Local\Programs\appium-desktop\resources\app \node_modules\appium\node_modules\appium-unlock\bin\unlock_apk-debug.apk: 失败 [INSTALL_FAILED_UPDATE_INCOMPATIBLE: 包io.appium.unlock 签名与之前安装的版本不匹配;忽略!]';代码:'1'

备注

1。有些朋友可能使用appium1.6版本。你可以尝试添加这个参数并用uiautomator2运行

'automationName':'uiautomator2'

#编码:utf-8 #作者:上海-悠悠 从 appium 导入 webdriver
从时间导入 sleep
desired_caps = {
'平台名称': 'Android',
'设备名称': 'A5RNW18316011440',
'平台版本': '7.0',
'automationName': 'uiautomator2',
'appPackage': 'com.baidu.yuedu',
'appActivity': 'com.baidu.yuedu.splash.SplashActivity'
}
driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub',desired_caps)

**如果学习过程中遇到任何问题,可以在appium+pythonQQ群交流:330467341**

-->