appium+python测试Android真机功能报错处理
用Appium1.4.16.1测试Android8.1.0出现以下报错:
C:\ProgramData\Anaconda3\python.exe D:/python/appium_learn/calculator_test_1.0.py
Traceback (most recent call last):
File "D:/python/appium_learn/calculator_test_1.0.py", line 11, in <module>
driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
File "C:\ProgramData\Anaconda3\lib\site-packages\appium\webdriver\webdriver.py", line 96, in __init__
super(WebDriver, self).__init__(command_executor, desired_capabilities, browser_profile, proxy, keep_alive)
File "C:\ProgramData\Anaconda3\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 157, in __init__
self.start_session(capabilities, browser_profile)
File "C:\ProgramData\Anaconda3\lib\site-packages\appium\webdriver\webdriver.py", line 137, in start_session
response = self.execute(RemoteCommand.NEW_SESSION, parameters)
File "C:\ProgramData\Anaconda3\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 321, in execute
self.error_handler.check_response(response)
File "C:\ProgramData\Anaconda3\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 242, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.SessionNotCreatedException: Message: A new session could not be created. (Original error: Command failed: C:\Windows\system32\cmd.exe /s /c "F:\android-sdk_r24.4.1-windows\android-sdk-windows\platform-tools\adb.exe -s BYYDDEV8YSJFNN7T shell "ps 'uiautomator'""
ps: uiautomator
)
首先解释一下关键提示信息:
A new session could not be created. (Original error: Command failed: C:\Windows\system32\cmd.exe /s /c "F:\android-sdk_r24.4.1-windows\android-sdk-windows\platform-tools\adb.exe -s BYYDDEV8YSJFNN7T shell "ps 'uiautomator'""
ps: uiautomator
)
新会话创建失败,具体的失败原因是:命令执行失败,我们知道C:\Windows\system32\cmd.exe 是调用命令行程序,
/c
执行 String 指定的命令,然后停止,
/s
修改 /c 或 /k 后对 String 的处理,
此处,string代表的就是:"F:\android-sdk_r24.4.1-windows\android-sdk-windows\platform-tools\adb.exe -s BYYDDEV8YSJFNN7T shell "ps 'uiautomator'""
下面我们再来拆分一下string部门的含义:F:\android-sdk_r24.4.1-windows\android-sdk-windows\platform-tools\adb.exe是adb在我本地的安装目录,adb-- Android Debug Bridge, Android 调试桥的缩写,-s <设备序列号> ,此处我们要执行的命令是adb shell ps | grep ‘uiautomator’,由于老版本的adb.js中定义的shell命令格式是:
ADB.prototype.shell = function (cmd, cb) {
if (cmd.indexOf('"') === -1) {
cmd = '"' + cmd + '"';
}
var execCmd = 'shell ' + cmd;
this.exec(execCmd, cb);
};
从代码的含义上可以看出,这里面调用的命令为:adb shell ps ,缺少了‘ | grep ‘uiautomator’’部分,故对上面的代码进行修改。
appium+python测试Android真机功能报错处理的更多相关文章
- 真机调试报错error ==Error Domain=NSURLErrorDomain Code=-1009 "似乎已断开与互联网的连接。"
真机调试报错error ==Error Domain=NSURLErrorDomain Code=-1009 "似乎已断开与互联网的连接." 请注意,错误代码是-1009,网上关于 ...
- Xcode真机调试报错(证书的签发者无效)
Xcode真机调试时报错: dyld: Library not loaded: @rpath/libswiftAVFoundation.dylib Referenced from: /var/mobi ...
- Android studio 3.1.3真机调试报错,no target device found
Android studio 3.1.2 的 Android monitor 改为 Android profiler,直接点这个就可以真机调试,在手机安装相应app 如果不行,报错,"no ...
- 【Mac+Appium+Python】之用 uiautomator2 启动报错
参数中添加了: automationName: Uiautomator2 运行如下: [UiAutomator2] Starting UIAutomator2 server 3.1.1 [UiAuto ...
- uni-app真机调试报错request:fail abort解决方法
Android端真机调试访问本地接口数据时报错:request:fail abort 报错代码 onLoad: function(e) { uni.request({ url: 'http://loc ...
- 改动项目APP名字后,在真机执行报错:The provisioning profile specified in your build settings (“haotian”) has an AppI
错误提醒:The provisioning profile specified in your build settings ("haotian") has an AppID of ...
- 小程序插件集成functional-page-navigator真机调试报错
小程序集成插件 插件里面有functional-page-navigator标签 一."小程序开发版已过期,请重新扫码连接" 真机在调用插件的时候报错 "小程序开发版已过 ...
- 真机调试报错:Could not find Developer Disk Image 或 Could not locate device support files.
废话不多说,原因是用的Xcode版本所支持的最高iOS系统低于真机iOS系统导致. 解决方案: 1.升级到最新的Xcode版本 2.不想升级Xcode,那就找已经把Xcode升级到最新版本的朋友,发给 ...
- Xcode真机调试报错:The application could not be verified.
今天真机调试的时候遇到这个错误: The application could not be verified. 这还是第一次遇到,应该是手机上的app的证书跟如今的证书不一致导致. 解决方法有两个 x ...
- iOS 真机调试报错汇总
1. iphone is busy: processing symbol files 引起原因第一次运行真机, 会处理一些文件, 上面会有一个进度条给予显示 等100%之后再编译 2. xcode c ...
随机推荐
- JZOJ 2022.01.21【提高A组】模拟
简要题解加心得 不得不说这是我打得比较痛苦且改得比较痛苦的一套题了 \(\text{T1 1085. [GDOI2008]彩球游戏}\) 整整改了三个半小时 直接崩溃了 明明本地可以跑过去,偏偏 \( ...
- 01#Web 实战:雷达图
成品演示 绘制雷达图 雷达图里外层 function calcPolygonX(radarX, radius, increaseAngle) { return radarX + radius * Ma ...
- Net Core 网关 Ocelot 简单案例
1.什么是Ocelot Ocelot是一个用.NET Core实现并且开源的API网关,它功能强大,包括了:路由.请求聚合.服务发现.认证.鉴权.限流熔断.并内置了负载均衡器与Service Fabr ...
- centos 修改ip
TYPE=EthernetPROXY_METHOD=noneBROWSER_ONLY=noBOOTPROTO=staticDEFROUTE=yesIPV4_FAILURE_FATAL=noIPV6IN ...
- 41.Sentinel
Feign 整合 Sentinel 依赖 <!--Feign--> <dependency> <groupId>org.springframework.cloud& ...
- java如何将逗号分隔的字符串转成int或者long数组
String str = "1,2,3";//先将他转化成int的数组如上述:欲将str 转成 数值型数组 利用 split 函数先以 ,分割 String str = " ...
- myql数据库新建之后,本地可以访问,远程访问不了
通过如下命令去修改: use mysql; update user set user.Host='%' where user.User='root'; flush privileges;
- vue跨行跨列动态表格生成
一.思路步骤: 根据后台传输的数据进行格式转化: 索引为多少的时候进行跨行: <table id="table"> <thead> <tr> & ...
- mapreduce和yarn集群
mapreduce : 先分再合,分而治之 分布式计算概念: 计算方式,与集中式计算相对.将应用拆分成小的部分,分配给多台计算机处理,mapreduce是分布式的计算框架. MR的特点:易于编程,良好 ...
- Kotlin初学习
Java和Kotlin数据类型对照表