移动端App自动化踩坑记录

Posted zhaikunkun

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了移动端App自动化踩坑记录相关的知识,希望对你有一定的参考价值。

1.daemon not running; starting now at tcp:5037

环境:macos系统
问题:打开网易MUMU模拟器,终端输入adb devices,提示如下
ZBMAC-C02N43Mfc:~ zhaitiantian$ adb devices

daemon not running; starting now at tcp:5037
Terminated: 15

使用adb kill-server、adb start-server、adb devices,模拟器连接状态还是offline

问题原因:公司安全部门 有程序监控开启adb的端口
解决方案:1).关闭wifi,关闭所有应用,重启电脑,打开电脑后,不要打开WIFI,此时打开模拟器,使用adb命令连接,就可以连接成功啦,此时再打开WIFI,但是这种情况下,就是每次重启电脑就会有这种问题
2).方案2是下载cleanMyMac插件,将自启动的程序 都关掉,这个我还没有试,有类似问题的同学可以试一下

2.雪球app “com.xueqiu.android.view.WelcomeActivityAlias”(欢迎页类名), #com.xueqiu.android.common.MainActivity(主页类名) 使用主页类名失败的问题

首先:应用启动的时候都有两个activity,一个是欢迎页,或者叫启动页的activity ,一个是主页的

其次:有的应用直接启动主页也能进到主页面, 有的应用就加了限制 , 不允许 这么操作, 因为不符合用户需求 , 用户正常的使用场景是启动应用的时候 加载完启动页,才能进主页 

然后:雪球就是这个限制了的app, 如果你不从启动页进, 直接进首页, 就会丢失数据

3.desired_caps[“skipDeviceInitialization”] = ‘true’参数的作用

当我们使用appium运行测试用例的时候,会在我们手机中安装一个appium setting的apk,每次安装这个应用都会消耗一定的时候。skipDeviceInitialization参数就是在我们运行的时候去检查手机是否安装了此应用,当安装完以后则会跳过这个步骤。起到一个提高效率,节省时间的作用

4.配置capability相关之输入中文参数,第一组运行不行,使用第二组,同理,第二组不行使用第一组,可以稍微转换下思路

desired_caps["unicodeKeyBoard"] = ‘true‘

desired_caps["resetKeyBoard"] = ‘true‘

desired_caps["unicodeKeyboard"] = True

desired_caps["resetKeyboard"] = True

5.noRest设置,并不是复用原页面

noreset并不是复用原页面,而是比如启动页面的时候有弹窗,关闭弹窗,可以使用该设置,重新启动的时候就不会弹出弹窗了,一定要注意??

appium启动app时会自动清除app里面的数据,假如我事先在app保留了一些数据,比如我在联系人app已经添加了一些联系人,在做appium自动化时这些数据我不想被清除掉,怎么办呢?
此时我们需要添加 ‘noReset’: “True” 属性和属性值来解决这个问题
 

 

以上是关于移动端App自动化踩坑记录的主要内容,如果未能解决你的问题,请参考以下文章

Fastlane 一键打包/发布APP - 使用记录及踩坑

uniapp开发聊天APP踩坑记录

移动端视频踩坑实录

uni-app开发踩坑记录

部分浏览器 set-cookie 不成功踩坑记录

vue+electron开发踩坑记录