Appium环境搭建——安卓真机调试注意点
1、安卓设备连接失败
通过adb devices命令 查看安卓设备的连接情况,如图,未成功连接
解决方法:
(1)关闭360安全卫士和360手机助手
(2)查看5037端口是否被占用
netstat -ano|findstr 5037(windows)
netstat -lnt | grep 5037(linux)
连接成功:
设备连接成功后,CMD命令行运行 appium -a 127.0.0.1 -p 4723 –U 6207febc --no-reset ,看appium服务器能否运行成功(运行成功后,如果想启动appium图形界面,记得关闭命令行,否则会提示端口冲突)
2、
(1)解决每次运行脚本都安装setting和unlock的问题:
Appium\node_modules\appium\lib\devices\android 路径下打开
android.js文件,注释掉这两行
(2)解决每次运行脚本都会重新安装app的问题
Appium老版本的“设置”里有no reset选项,新版本没有,解决方法:
1>命令行运行appium,带上--noreset
appium -a 127.0.0.1 -p 4723 –U 6207febc --no-reset
2>在脚本里加上no reset设置
self.desired_cups['noReset'] = 'True'
3、获取app的包名和当前活动名:
adb shell
dumpsys activity | grep mFocusedActivity
注:有时候调用app的Activity无效,需要获取到初始Activity,查看方法如下
进入aapt路径下:D:\android-sdk_r24.4.1-windows\android-sdk-windows\build-tools\28.0.3
输入命令: aapt dump badging C:\apk\kaoyanbang.apk | find "launchable-activity"
launchable-activity::com.xxx.xxx.xxx.xxx
4、允许第三方应用启动app的activity:
android-sdk-windows\tools\apps\SdkController 路径下打开
AndroidManifest.xml文件,添加一行:android:exported = "true"
5、运行自动化脚本,appium报错
报错1:selenium.common.exceptions.SessionNotCreatedException: Message: A new session could not be created. (Original error: Requested a new session but one was in progress)
(1)打开appium里面的override exsiting session功能
(2)杀掉app重新启动
报错2:报错 webdriver
app卸载重装后,需要重启appium服务器,否则此时运行脚本,会报错
重启appium和pycharm解决了我百分之八十的报错情况,后来我安装了一个Appium-Desktop的新版,没有再出现过频繁报错的问题,还是升级大法好。
每个错误的解释和原因非常多,具体还是要看appium的日志详情,再来具体分析。
6、Appium方法构造:
appium的 clear() 方法在安卓上不太好用,速度慢且光标跳转容易异常,是个已知bug,建议写一个删除方法,封装一下
1.获取文本长度
2.跳到文本最后
3.删除(全选后删除或者一个个字符删除)
Appium环境搭建——安卓真机调试注意点的更多相关文章
- macbook Android开发环境搭建,真机调试
买了一台MacBook,本以为可以鼓捣一下iOS开发之类的,可惜导师要我做Android开发.无奈开始了在MacBook上开发Android的工作. 从开始配置环境到应用成功在真机上运行,也是曲曲折折 ...
- Appium Desktop Inspector 安卓真机配置(Windows)
本文是基于 Windows环境 通过Appium Desktop 测试真机,首先要确保测试机已经和电脑正确连接(将手机和电脑通过USB数据线连接,手机打开USB调试) 确认电脑与手机是否连接成功的方法 ...
- cocos2dx 安卓真机调试问题汇总
cocos compile编译apk问题汇总: 1,dx编译报错,没有足够的空间 ANTBUILD : [dx] error : Could not create the Java Virtual M ...
- 【转】Ubuntu 14.04配置安装java环境和android开发环境(包括真机调试环境)
原文网址:http://my.oschina.net/HalZf/blog/347351 总要记录下过程,不然老是会忘记掉-真老了.-_-! 一.配置安装ubuntu 64位java环境: 1.下载l ...
- 安卓第一课:android studio 的环境搭建与真机运行以及遇到的问题
AS的下载: https://developer.android.com/studio/index.html AS的安装: android studio, sdk, virtual device都要安 ...
- Appium环境搭建——安卓模拟器(AVD)调试 1-创建模拟器失败点的总结
一.先安装好Android SDK 系统变量—>新建,变量名:ANDROID_HOME,变量值:SDK的安装路径 系统变量—>path—>点击编辑,变量值添加:;%ANDROID_H ...
- Appium环境搭建——安卓模拟器(AVD)调试 2-运行Apk失败点的总结
如何优化AVD模拟器运行速度? 解决方法:开启IntelHAXM 查询intelhaxm是否已经开启: sc query intelhaxm 若开启成功,则如图所示 若没有开启,可以通过BIOS打开, ...
- 安卓真机调试 出现Installation error: INSTALL_FAILED_UPDATE_INCOMPATIBLE....
[2016-08-20 14:38:39 - hybrid-android] Installation error: INSTALL_FAILED_UPDATE_INCOMPATIBLE[2016-0 ...
- Android 安卓真机调试 出现Installation error: INSTALL_FAILED_UPDATE_INCOMPATIBLE....
[2017-03-24 13:30:04 - DataVDemo06] Installing DataVDemo06.apk...[2017-03-24 13:30:08 - DataVDemo06] ...
随机推荐
- DCOMP——分散式计算
新型网络DCOMP 据国外媒体2017年11月7日报道,曾经发明互联网的秘密机构“美国国防部高级研究计划局(DARPA)”如今正致力于研发能够完胜互联网的新网络,并且启动了一项链接物联网.智能手机.智 ...
- OO第四次作业总结
一:测试与正确性论证的效果差异 首先,测试和正确性论证都是对程序的可靠与否,是否有误进行测试,从整体上来看,测试多偏向于实践,而正确性论证则大多偏向于理论. 测试:测试首先是构造一组测试样例,之后将程 ...
- python1-集合、函数-(全局变量与局部变量)
集合 # s=set('hello')# print(s)## s=set(['alex','alex','sb'])# print(s) # s={1,2,3,4,5,6} #添加# s.add(' ...
- 体验ToLua框架下热更新(Phpstudy)
一.关于热更新的详细流程 首先我们需要需要将本机电脑作为服务器打开,这是第一步 1.1.1如何确定我们的电脑是作为服务器打开的. 我们打开一个浏览器在地址栏中输入127.0.0.1.或者是localh ...
- call Apply bind详解
call方法: 语法:call(thisObj,'',''........) 定义:调用一个对象的一个方法,以另一个对象替换当前对象 说明:call方法可以用来代替另一个对象调用一个方法.call方法 ...
- linux 命令启动Oracle数据库
首先使用oracle用户登录Linux,然后在shell命令行中执行下面的命令: 第一步:打开Oracle监听lsnrctl start 第二步:进入sqlplussqlplus /nologSQL& ...
- MSP430中断的一个细节问题
关于中断标志: 从SPI发送一字节数据: void SPI_Set_SD_Byte(unsigned char txData) { UCB0TXBUF = txData; // 写入发送缓冲区 whi ...
- [转载] Fiddler为所欲为第三篇 封包逆向必备知识[三]
导语: 小A同学:会抓包有什么好学习的,不就用一个工具设置个wifi代{过}{滤}理就OK了嘛,还不是很多做不了.不如学习安卓逆向.didi科学家:不好意思,抓包可以为所欲为. 其实学习抓包,完完全全 ...
- 易语言Dns缓存
一些与DNS解析有关的命令: ipconfig/displaydns -查看被缓存的域名解析 ipconfig/flushdns -清空DNS缓存 .版本 .DLL命令 DnsFlushR ...
- vue 用户停留页面超过30分钟未操作 强制退出到登录页面
先说下主要实现思路,通过给你的根节点绑定mouseover事件,首先声明下当前时间,每次滑过时记录下滑过的时间,两个时间转化成毫秒数,进行对比,如果超过30分钟,则清除token,跳转到login.h ...