uiautomator2 +Python进行Android原生应用UI测试
uiautomator2封装了google的uiautomator(只能用java),uiautomator2可以使用脚本语言python进行编写,更简单直观地修改、运行自动化测试代码;
不足为:仅支持Android平台的原生应用测试。
使用方法:
1、安装 python库uiautomator2(支持python3和python2)
pip3 install --pre uiautomator2
2、确保电脑连接移动设备, 并且adb环境已经可用
3、需要在移动设备上安装atx-agent(守护进程,使用本库所需), atx-agent启动uiautomator2服务
python3 -m uiautomator2 init
执行该命令会自动安装本库所需要的设备端程序:uiautomator-server 、atx-agent、openstf/minicap、openstf/minitouch)
4、通过python脚本连接设备
import uiautomator2 as u2
d = u2.connect_usb('a6bce413') #adb devices查询到的设备号
#方式2:通过手机wifi连接(PC和移动设备使用的一个wifi)
d = u2.connect_usb('192.134.11.13') #手机的ip地址为:192.134.11.13
print(d.info) 5、抓取app控件:
A、工具1:uiautomatorviewer
B、工具2:openatx提供了另外一个工具weditor 来解决这个问题简单用法来自网上:
B1、安装:
pip install --pre --upgrade weditor
B2、使用:
python3 -m weditor
默认会通过浏览器打开页面:http://atx.open.netease.com/

在页面左上角选择Android,输入设备IP(192.168.31.234)或者设备号(),点击Connect按钮。操作完手机后,可以点击“Reload”按钮从而保持与设备上的界面保持同步。
import uiautomator2 as u2
d = u2.connect_usb('a6bce413')
print(d.info)
# 启动App
d.app_start("com.ulabs.ubbeybox") # 远程登陆
d(description="Remote login").click() #停止应用
d.app_stop("com.ulabs.ubbeybox")
常用的定位方式:
ResourceId定位:
d(resourceId="com.meizu.mzbbs:id/tp").click()Text定位:
d(text="精选").click()Description定位:
d(description="..").click()ClassName定位:
d(className="android.widget.TextView").click()
uiautomator2 +Python进行Android原生应用UI测试的更多相关文章
- Appium 在 Android UI 测试中的应用
原文地址:https://blog.coding.net/blog/Appium-Android-UI Android 测试工具与 Appium 简介 Appium 是一个 C/S 架构的,支持 An ...
- Android ui 测试课堂笔记
开始接触Android ui测试了,笔记如下 模拟器 Genemotion , the fastest android simulator in the world Android ui 测试工具 S ...
- 使用uiautomatorviewer和uiautomator来做android的UI测试
来自:http://university.utest.com 作者:Angelos Nakulas (All Authored Courses) 译者:Elaine00 目录 简介 什 ...
- 在Android Studio中进行单元测试和UI测试
本篇教程翻译自Google I/O 2015中关于测试的codelab,掌握科学上网的同学请点击这里阅读:Unit and UI Testing in Android Studio.能力有限,如有翻译 ...
- 4、Android UI测试
为你的APP进行UI测试是为了确保不出现意料之外的结果,提升用户的体验.如果你需要验证你的APP UI的正确性,你需要养成创建UI测试的习惯. Espresso测试框架是由Android Testin ...
- Google+ 团队的 Android UI 测试
https://github.com/bboyfeiyu/android-tech-frontier/tree/master/android-blog/Google%2B%20%E5%9B%A2%E9 ...
- 一种新的自动化 UI 测试解决方案 Airtest Project
今天分享一个自动化UI测试工具airtest——一款网易出品的基于图像识别面向游UI测试的工具,也支持原生Android App基于元素识别的UI自动化测试.主要包含了三部分:Airtest IDE. ...
- pc端和android端应用程序测试有什么区别?(ps面试题)
pc端和android端应用程序测试有什么区别?(ps面试题) [VIP7]大连-凭海临风(215687736) 2014/4/10 8:56:171.测试环境不同PC平台一般都是windows an ...
- 收藏的技术文章链接(ubuntu,python,android等)
我的收藏 他山之石,可以攻玉 转载请注明出处:https://ahangchen.gitbooks.io/windy-afternoon/content/ 开发过程中收藏在Chrome书签栏里的技术文 ...
随机推荐
- 一个flink作业的调优
最近接手了一个flink作业,另外一个同事断断续续有的没的写了半年的,不着急,也一直没上线,最近突然要上线,扔给我,要调通上线. 现状是: 1.代码跑不动,资源给的不少,但是就是频繁反压. 2.che ...
- 【bzoj1001】[BeiJing2006]狼抓兔子 最小割+对偶图+最短路
题目描述 现在小朋友们最喜欢的"喜羊羊与灰太狼",话说灰太狼抓羊不到,但抓兔子还是比较在行的,而且现在的兔子还比较笨,它们只有两个窝,现在你做为狼王,面对下面这样一个网格的地形: ...
- BZOJ4487 JSOI2015染色问题(组合数学+容斥原理)
逐个去除限制.第四个限制显然可以容斥,即染恰好c种颜色的方案数=染至多c种颜色的方案数-染至多c-1种颜色的方案数+染至多c-2种颜色的方案数…… 然后是限制二.同样可以容斥,即恰好选n行的方案数=至 ...
- 洛谷 P2893 [USACO08FEB]修路Making the Grade 解题报告
P2893 [USACO08FEB]修路Making the Grade 题目描述 A straight dirt road connects two fields on FJ's farm, but ...
- java AWT repaint paint update 方法
paint(Graphic g): awt调用这个方法有2种形式.程序驱动方式和系统驱动方式. 在系统驱动的情况下(比如界面第一次显示组件),系统会判断组件的显示区域,然后向事件分发线程发出调用pai ...
- Nginx的火速蔓延与其并发性处理优势
Nginx是俄罗斯人编写的十分轻量级的HTTP服务器.Nginx,它的发音为“engine X”, 是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP 代理服务器.Ngi ...
- shell里的getopts
By francis_hao Jul 5,2017 getopts是shell的一个内置命令. 概述 getopts optstring name [args]OPTIND,OPTARG,O ...
- 一个简易的Python全站抓取系统
很长时间没有更新博客了,前一阵时间在做项目,里面有一个爬虫系统,然后就从里面整理了一点代码做成了一个简易的爬虫系统,还挺实用的. 简单说来,这个爬虫系统的功能就是:给定初始的链接池,然后设定一些参数, ...
- Windows下查看某个端口被哪个服务占用
1.查看某个端口是否被占用 打开命令行,输入:netstat -ano | findstr "3306" 2.查看端口被哪个服务占用 tasklist | findstr “PID ...
- jsp小知识点(2)
一:自定义的函数库:在wh.tld中 <description>JSTL 1.1 functions library</description> <display-nam ...