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] ...
随机推荐
- ansible-play中role的基本用法
#role应用 #roles跟调用角色的剧本文件应该与roles同级关系,即放在ansible目录下 #makir /root/ansible/roles/{nginx,http,ftp,mysql, ...
- 运行python脚本时,报错InsecurePlatformWarning: A true SSLContext object is not available,解决方法
今天,要在新环境里运行一个python脚本,遇到下面的报错: /usr/lib/python2.7/site-packages/urllib3/util/ssl_.py:160: InsecurePl ...
- python 保留字符
False 假的 None 无 True 真的 and 和 as作为 assert 断言 break 打破 class 种类 continue 继续 def del 删除 elif 否则如果 else ...
- 小程序中input设置宽度后宽度还有空间,但是placeholder被遮挡问题
最近在做小程序,已经设置了宽高,placeholder没有超出input宽度,却被挡住了一部分,上代码看一下: wxml: <view class='container'> <inp ...
- Oracle组成介绍
Oracle Database 11g是一些特殊文件的集合,这些文件是用数据库配置助手创建的,然后用OEM Grid Control完成相关工作.这些数据库文件是通过一组共享内存进程来进行访问的,这组 ...
- 52 和 52Rc 通过IIC写入数据
- matlab json文件解析 需要下载一个jsonlab-1.5
% facebookX24.m clc; addpath('C:\Program Files\MATLAB\R2015b\toolbox\jsonlab-1.5'); % read .json jso ...
- vi编辑器之删除操作
参见 1.vi列删除 方法一: ctrl+v进入列编辑模式: 将光标定位子想要删除的起始列: 移动光标至结束列(直接通过移动光标选中,对列不对齐时,可能比较长的行,无法全部选中,尤其是需要一直删除到行 ...
- 【5】用vector进行直接插入排序
百分百自己编的程序,越来越觉得编程很好玩了. 但这算是第一次自己用vector这种不是那么无脑的方法编程,只能最多对3个数进行排序wwwww 今天我要回去搬宿舍了,等明天有时间,我一定要把bug找到! ...
- sql server 字符串根据指定分隔符进行分组
SET QUOTED_IDENTIFIER ON SET ANSI_NULLS ON GO --功能:分拆字符串 --参数:@String:要分拆的字符串:@Delimiter:分割符号 --返回值: ...