Uiautomator2.0 棘手问题

  • Uiautomator2.0 棘手问题:系统重启后,uiautomator会停止,后面的用例全部挂掉
    • 1. Uiautomator2.0 原理
    • 2. 项目问题:uiautomator2 会在系统重启时停掉报错

Uiautomator2.0 棘手问题:系统重启后,uiautomator会停止,后面的用例全部挂掉

找了几篇文章了解了它的原理
官方文档

1. Uiautomator2.0 原理

uiautomator2 安装后是python的一个库,含有大量的API接口,允许python编写测试代码操控app,可以做Android的UI自动化测试
工作原理:
如图:python-uiautomator2主要分为两个部分,python客户端,移动设备

  1. python端: 运行脚本,并向移动设备发送HTTP请求
  2. 移动设备:移动设备上运行了封装了uiautomator2的HTTP服务,解析收到的请求,并转化成uiautomator2的代码。

整个过程

  1. 在移动设备上安装atx-agent(守护进程), 随后atx-agent启动uiautomator2服务(默认7912端口)进行监听
  2. 在PC上编写测试脚本并执行(相当于发送HTTP请求到移动设备的server端)
  3. 移动设备通过WIFI或USB接收到PC上发来的HTTP请求,执行制定的操作

其实环境搭建和初始化的时候,除了python安装uiautomator库,初始化设备的时候:python -m uiautomator2 init 设备上安装这5个东西:前台atx-agent (小黄车), uiautomator_apk (后台server)、 minicap 、minitouch、、uiautomator_apk安装了app-uiautomator.apk和app-uiautomator-test.apk两个server apk

atx-agent (可以直接在安卓上运行的二进制程序)

app-uiautomator.apk (UiAutomator2服务,Toast)
app-uiautomator-test.apk (UiAutomator2服务)

minicap 用于手机的快速截图
minitouch 用于远程控制

2. 项目问题:uiautomator2 会在系统重启时停掉报错

当时测试项:旋转屏幕 菜单》屏幕显示》90°》返回》退出》重启生效:是
由于系统关机,uiautomator识别不到手机,超时报错,后续用例全部报错。
解决方法:在服务停止前,手动将服务关闭,等待开机;关机后手动开启服务。
这是折中的方法,因为等待系统开机,等待adb连接是一个无法准确估时的步骤,我采用了定时等待的方法,肯定会有些不严谨。
后续,若是可以重启后服务自动重连,继续测试,可以补充改善。

#等待app重启,由于关机服务停止,会报错。
#解决方法:在服务停止前,手动将服务关闭,等待开机;关机后手动开启服务
d.uiautomator.stop()
time.sleep(30)
d.uiautomator.start()d1 = u2.connect_usb(sn)

参考文章:https://www.cnblogs.com/onlyhold/p/10546497.html

Uiautomator2.0 棘手问题:系统重启后,uiautomator会停止,后面的用例全部挂掉相关推荐

  1. ubuntu系统重启后桌面分辨率减小的原因及解决方法

    我的情况是:使用命令 nvidia-smi 进行验证,如果出现链接不成功,说明是驱动除了问题: 根据以下教程重新安装后,问题解决了. ubuntu16.04装机1:安装NVIDIA显卡驱动(下载.ru ...

  2. wsl中Ubuntu安装openFOAM,Enabling Graphical Applications更新环境文件,系统重启后Graphical Applications无法使用

    (1)bashrc文件中name server地址相对引用问题 正常安装后bashrc文件中语句应为: export DISPLAY=192.168.1.1:0 其中192.168.1.1为name ...

  3. 重启计算机设的桌面背景就没了,桌面壁纸无法保存怎么办?Win7系统重启后不保存桌面背景解决方法...

    今天一网友咨询小编称自己设置了电脑桌面背景图片,但是电脑重启后不保存桌面背景,又还原至之前的桌面背景,遇到桌面壁纸无法保存怎么办?针对这个问题,装机之家小编分享一下Win7系统重启后不保存桌面背景解决 ...

  4. Hyper-V 激活Windows系统重启后黑屏的解决方法 + 激活方法

    Hyper-V 激活Windows系统重启后黑屏的解决方法 + 激活方法 参考文章: (1)Hyper-V 激活Windows系统重启后黑屏的解决方法 + 激活方法 (2)https://www.cn ...

  5. Wincc系统重启后保持内部变量的值不变的设置

    软件版本:Wincc 7.4SP1 操作系统:Windows7 问题描述 需要在wincc中动态修改某些参数,希望设置一些内部变量作为中间变量,但运行中修改过的参数在系统重启后会丢失,该如何在输入后保 ...

  6. 解决win7系统重启后ip丢失问题,即每次电脑重启都要重新设置ip地址,重启后ip地址没了

    解决win7系统重启后ip丢失问题,即每次电脑重启都要重新设置ip地址,重启后ip地址没了 参考文章: (1)解决win7系统重启后ip丢失问题,即每次电脑重启都要重新设置ip地址,重启后ip地址没了 ...

  7. 关于win10系统重启后图标自动排序问题的解决方案

    关于win10系统重启后图标自动排序问题的解决方案 文章目录 关于win10系统重启后图标自动排序问题的解决方案 前言 解决方案 总结 前言 本人学的是电子信息专业,下载的软件和文档很多,若采用win ...

  8. 海康服务器系统装完重启转圈蓝屏,win10 1903系统重启后一直在转圈无法正常启动的解决方法...

    有不少用户升级到win10 1903系统之后,发现关机重启之后,一直在转圈无法正常启动,遇到这样的问题该怎么办呢,接下来给大家讲解一下win10 1903系统重启后一直在转圈无法正常启动的解决方法吧. ...

  9. 系统重启后,VCS状态ADMIN_WAIT or STALE_ADMIN_WAIT

    VCS教程 http://hobgoblinconsulting.com/hints/vxvm/vcs/ 系统重启后,VCS状态为ADMIN_WAIT or STALE_ADMIN_WAIT Afte ...

最新文章

  1. Qt设置应用程序图标
  2. C#发现之旅第九讲 ASP.NET验证码技术
  3. Three.js中实现ASCII文本动画效果
  4. 关于推荐系统中的长尾商品
  5. leetcode - 674. 最长连续递增序列
  6. SetNamedPipeHandleState
  7. pku2707--Copier Reduction
  8. arp包导致linux设备丢包,arp包导致的网络拥挤
  9. 百度文库免费下载最新攻略,全新的百度文库下载方式
  10. spacedesk安卓_【图吧小白教程】安卓平板改数位板
  11. echarts 实现自定义tooltip提示框浮层内容显示
  12. 阿里云部署vmware报错
  13. 小程序获取上一个页面或者某个页面内的值
  14. Spring Cloud 微服务项目实战 -
  15. 计算机内存4G,笔记本电脑4g内存和8g内存的区别
  16. 编写java的软件——Myeclipse,以及反编译的用法.
  17. TinyXML2 学习
  18. 两种电子配线架的原理比较
  19. kali2.0linux折腾记
  20. RT-Thread:让W25Q128、U盘、SD卡同时搭载文件系统

热门文章

  1. 用不服输的态度去生活,用委屈撑开长大
  2. 墙裂推荐:GitHub 上这个开源项目可以让你在短短几分钟之内了解一门技术
  3. python照片转素描_Python3.4图片转换素描
  4. Linux下不重启永久修改hostname
  5. vs2017打开html aspx文件左下方不显示设计-拆分-源视图的解决方法 不显示设计视图
  6. okHttp网络请求结果Response返回主线程中
  7. sonnoc索诺克投影仪无法输出画面,提示“输入信号超出输出范围 调整为1920X1080@60Hz“
  8. 正则表达式入门与进阶
  9. 数据结构和算法_零基础入门01
  10. php取整v,php取整的各种方法