app自动化问题点整理
1、配置SDK环境发现adb无法生效:

解决方案:
这个问题一般就是你的环境变量没有配置好,很多同学比较容易出现的点就是win10系统的环境变量配置:

一定要注意打开path添加:%ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools;这个配置的时候一定要先点击新建再分别在两行创建(win7系统是直接粘贴到path变量值后面即可),并且分号不需要!!!
2、通过adb命令获取前台包名和类名出现下面错误:

解决方案:
在windows环境变量中检查path中是否有%SystemRoot%\system32;%SystemRoot%这个配置,如不存在,添加进行保存即可。
注意:在android 7.0以下可以用此命令进行查询,但是在android 8.0上dumpsys activity的信息已经有变化,不能使用mFocusedActivity
需要使用:
adb shell dumpsys activity | find "mResumedActivity"
3、appium inspector工具开启session出来下面提示:
Error: Activity used to start app doesn't exist or cannot be launched! Make usre it exists and is launchable activity

解决方案:
这种问题一般就是你的appActivity写错,需要确认你对应测试入口Activity是否正确:通过aapt dump badging apk路径得到lunchable-activity对应的类名
4、androidDriver.startActivity方法不存在
解决方案:
将Java Compiler改成1.8,因为startActivity方法在接口中定义成default,这是JDK1.8+的新特性。

5、Hybrid混合应用切换appium中提示:
[MJSONWP] Encountered internal error running command: Error: Could not find package com.android.chrome on the device
解决方案:
Could not find package com.android.chrome on the device测试手机/模拟器中没有安装chrome浏览器,去应用市场下载安装一个即可。
6、微信小程序自动化appium提示:
Error: Failed to start Chromedriver session:
An unknown server-side error occurred while processing the command.
(Original error: unknown error: known package com.android.chrome does not accept activity/process
解决方案:
java-client的版本切换到5.0.3,自测java-client 5.0.4及以上的版本会报此错误信息,Appium官方确认是selenium的BUG,所以小伙伴们测试微信小程序的时候最好使用5.0.3或者以下的版本。
7、Hybrid混合应用自动化脚本运行出来下面提示:
[Chromedriver] error: No Chromedriver found that can automate Chrome '39.0.0'
解决方案:
1、确定在手机端有安装chrome浏览器
2、chromedriver的版本和webview版本需要对应上

参考链接:https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/web/chromedriver.md
8、DesiredCapability属性deviceName无效问题:
在代码中通过deviceName指定运行的设备会发现无效,Appium有做了说明

deviceName属性在代码中配置了是无效的,但是Appium初始化的时候必须要有,否则会报错,很坑有木有。
9、指定automationName为UIAutomator2,如果有涉及到多设备并发执行,那么每个AppiumServer中UIAutomator2对应的端口都需要配置:
默认UIAutomator2端口为8200,可以自己在代码中指定
desiredCapabilities.setCapability("systemPort", 8202);
app自动化问题点整理的更多相关文章
- App 自动化框架设计思路
最近在整理和学习Appium+Java 自动化框架,对APP自动化框架的部分设想参考了一些文章,先进行整理下: 框架的思路一: 思考引入:https://www.cnblogs.com/yunfeio ...
- APP自动化框架LazyAndroid使用手册(2)--元素自动抓取
作者:黄书力 概述 前面的一篇博文简要介绍了安卓自动化测试框架LazyAndroid的组成结构和基本功能,本文将详细描述此框架中元素自动抓取工具lazy-uiautomaterviewer的使用方法. ...
- APP自动化框架LazyAndroid使用手册(1)--框架简介
作者:cryanimal QQ:164166060 APP自动化简介 APP自动化,即通过自动化的方式,对APP施行一系列的仿按键输入.触摸屏输入.手势输入等操作,以达到对APP的功能进行自动化测试 ...
- 用java和junit编写app自动化测试用例
package myTest; import static org.junit.Assert.*; import io.appium.java_client.android.AndroidDriver ...
- 用python和unittest编写app自动化测试用例
import unittest import webdriver import time class Test(unittest.TestCase): @classmethod def setUpCl ...
- App自动化测试-1.App自动化介绍和环境搭建
App自动化测试-1.App自动化介绍和环境搭建 *:first-child { margin-top: 0 !important; } body>*:last-child { margin-b ...
- APP自动化针对PO模式进行二次封装之basepage
APP自动化跟WEB自动化所使用的框架基本一样,都是采用的PO模式结合pytest框架编写自动化测试脚本,为了提高代码的复用性.稳定性和易维护性,我们针对PO模式进行了二次封装,将日志,等待以及异常截 ...
- APP自动化环境配置
做自动化很多人都不喜欢做app自动化,说实话,我也不喜欢做app自动化,但是没办法,老板给你钱,让你做,不得不做! 其实app自动化的难点就在于环境,环境OK了之后一切都和web自动化差不多,顶多就是 ...
- 手机APP自动化环境搭建
1 摘要 近年来,随着移动应用从数量上和逻辑复杂程度上的增长,以及产品发布周期的紧缩,使得回归测试迫在眉睫,鉴于此APP自动化测试变得越来流行,当前主流的APP自动化工具有:Appium.Roboti ...
随机推荐
- Java 两次MD5
导入: import org.apache.commons.codec.digest.DigestUtils; 代码: public static String md5(String src) { r ...
- 原生JS插件(超详细)
作为一个前端er,如果不会写一个小插件,都不好意思说自己是混前端界的.写还不能依赖jquery之类的工具库,否则装得不够高端.那么,如何才能装起来让自己看起来逼格更高呢?当然是利用js纯原生的写法啦. ...
- Mybatis Mapper接口是如何找到实现类的-源码分析
KeyWords: Mybatis 原理,源码,Mybatis Mapper 接口实现类,代理模式,动态代理,Java动态代理,Proxy.newProxyInstance,Mapper 映射,Map ...
- javascript中所有函数参数都是按值传递
在看<JavaScript高级程序设计>(第三版)的时候,传递参数这一节,里面提到 ECMAScript中所有函数的参数都是按值传递的 它自己的解释是, 把函数外部的值复制给函数内部的参数 ...
- BZOJ2759 一个动态树好题 LCT
题解: 的确是动态树好题 首先由于每个点只有一个出边 这个图构成了基环内向树 我们观察那个同余方程组 一旦形成环的话我们就能知道环上点以及能连向环上点的值是多少了 所以我们只需要用一种结构来维护两个不 ...
- Redis持久化之RDB
本文及后续文章,Redis版本均是v3.2.8 上篇文章介绍了RDB的优缺点,我们先来回顾下RDB的主要原理,在某个时间点把内存中所有数据保存到磁盘文件中,这个过程既可以通过人工输入命令执行,也可以让 ...
- 在ideaUI中建立maven项目
1.新建New 注意:第一次创建maven项目需要在有网情况下进行 2.可以看见我们建立的项目了
- Vue+localstrong登录注册,并保持登录状态
在router.js中添加meta区分 比如登录注册页面,不需要登录即可进入,那么我们把meta中的isLogin标志设置为false { //登录 path: '/login', component ...
- Imcash:一边大裁员,一边大扩招,你能否成为区块链人才中的7%?
农历春节后,互联网创业圈并不太平. 最早,滴滴被曝裁员,占比约为全员的15%,涉及员工约2000人.CEO程维在全员会议上称公司要做好过冬准备.此后,京东接棒,其裁员对象上升至副总裁级别高管,比例占到 ...
- 用python做一个搜索引擎(Pylucene)
什么是搜索引擎? 搜索引擎是“对网络信息资源进行搜集整理并提供信息查询服务的系统,包括信息搜集.信息整理和用户查询三部分”.如图1是搜索引擎的一般结构,信息搜集模块从网络采集信息到网络信息库之中(一般 ...