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环境搭建——安卓真机调试注意点的更多相关文章

  1. macbook Android开发环境搭建,真机调试

    买了一台MacBook,本以为可以鼓捣一下iOS开发之类的,可惜导师要我做Android开发.无奈开始了在MacBook上开发Android的工作. 从开始配置环境到应用成功在真机上运行,也是曲曲折折 ...

  2. Appium Desktop Inspector 安卓真机配置(Windows)

    本文是基于 Windows环境 通过Appium Desktop 测试真机,首先要确保测试机已经和电脑正确连接(将手机和电脑通过USB数据线连接,手机打开USB调试) 确认电脑与手机是否连接成功的方法 ...

  3. cocos2dx 安卓真机调试问题汇总

    cocos compile编译apk问题汇总: 1,dx编译报错,没有足够的空间 ANTBUILD : [dx] error : Could not create the Java Virtual M ...

  4. 【转】Ubuntu 14.04配置安装java环境和android开发环境(包括真机调试环境)

    原文网址:http://my.oschina.net/HalZf/blog/347351 总要记录下过程,不然老是会忘记掉-真老了.-_-! 一.配置安装ubuntu 64位java环境: 1.下载l ...

  5. 安卓第一课:android studio 的环境搭建与真机运行以及遇到的问题

    AS的下载: https://developer.android.com/studio/index.html AS的安装: android studio, sdk, virtual device都要安 ...

  6. Appium环境搭建——安卓模拟器(AVD)调试 1-创建模拟器失败点的总结

    一.先安装好Android SDK 系统变量—>新建,变量名:ANDROID_HOME,变量值:SDK的安装路径 系统变量—>path—>点击编辑,变量值添加:;%ANDROID_H ...

  7. Appium环境搭建——安卓模拟器(AVD)调试 2-运行Apk失败点的总结

    如何优化AVD模拟器运行速度? 解决方法:开启IntelHAXM 查询intelhaxm是否已经开启: sc query intelhaxm 若开启成功,则如图所示 若没有开启,可以通过BIOS打开, ...

  8. 安卓真机调试 出现Installation error: INSTALL_FAILED_UPDATE_INCOMPATIBLE....

    [2016-08-20 14:38:39 - hybrid-android] Installation error: INSTALL_FAILED_UPDATE_INCOMPATIBLE[2016-0 ...

  9. Android 安卓真机调试 出现Installation error: INSTALL_FAILED_UPDATE_INCOMPATIBLE....

    [2017-03-24 13:30:04 - DataVDemo06] Installing DataVDemo06.apk...[2017-03-24 13:30:08 - DataVDemo06] ...

随机推荐

  1. 根据不同访问设备跳转到PC页面或手机页面

    目前很多网站都是采用了响应式自适应页面的设计了,根据访问设备的不同,显示不同的内容.但是还是会有一些节奏比较慢的网站,还是PC页面和手机PAD页面不同的访问域名.正好我这里有个需要,同一个域名要根据不 ...

  2. mybatis Interceptor拦截器代码详解

    mybatis官方定义:MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.MyBatis ...

  3. [Leetcode 39]组合数的和Combination Sum

    [题目] Given a set of candidate numbers (candidates) (without duplicates) and a target number (target) ...

  4. Linux 动态链接库 - dll劫持

    如何使用动态链接库 Linux下打开使用动态链接库需要三步(实际上和windows下基本一样):1.加载动态链接库,通过调用库函数dlopen()获得链接库的句柄,对应于windows下的 AfxLo ...

  5. vue组件的通信

    组件的引入两种方式 动态组件  <p is="com-a"></p> 直接引入 <com-a></com-a> 插槽功能 父组件引入 ...

  6. Oracle角色,权限,表空间基础语句

    控制台: -sqlplus         -----连接数据库 -conn sys/123456@orcl as sysdba        -----登录sys -create tablespac ...

  7. ES6常用方法总结

    1.声明变量用let,声明常量用const(定义唯一的值),都没有预解释,也不存在变量提升: 2.箭头函数:有如下两种写法 1).表达式(函数体只有一行代码) a).let fn = p => ...

  8. centos7 下安装mysql教程

    最近要在centos服务器上配置环境,在部署mysql的时候,碰到各种各样的问题,网上博客文章也是有各种坑,目前发现一个比较好的博客: https://blog.csdn.net/xiaomojun/ ...

  9. 简单gitblit与Jenkins结合,持续集成

    gitblit是当作git服务器,也就是作为私有的代码仓库,用法类似于Github Jenkins 是自动构建工具,帮忙将仓库中的代码更新到服务器上.可以设置为定时自动构建. 详细摸索了我现在公司的用 ...

  10. TCPIP学习笔记

    TCP的连接 状态变化 各个状态的意义如下: LISTEN - 侦听来自远方TCP端口的连接请求: SYN-SENT -在发送连接请求后等待匹配的连接请求: SYN-RECEIVED - 在收到和发送 ...