使用uiautomator2自动化测试app(二)------操作篇
提示:
1. 推荐使用python3以上的版本来进行开发
2. 手机使用安卓手机,版本最好不要太老,一根数据线
3. 安装虚拟机(博主使用雷电)
操作:
这里只简单的介绍一些uiautomator2的基本使用语法
1. 测试连接
import uiautomator2 as u2
import uiautomator2.ext.htmlreport as htmlreport
from time import sleep
d = u2.connect('192.168.0.62')
print(d.info)
这里使用的是连接设备的ip,只需要将你的设备和电脑共处在同一个无线下即可
也可以使用usb连接
d = u2.connect_usb('emulator-5554')
这里只需要填写你的设备的序列号即可
具体情况具体应对
如果运行之后出现以下情况则说明连接成功
{'displaySizeDpY': 640, 'currentPackageName': 'com.android.launcher3', 'sdkInt': 22, 'displaySizeDpX': 360, 'productName': 'm2', 'displayWidth': 540, 'screenOn': True, 'displayHeight': 960, 'naturalOrientation': True, 'displayRotation': 0}
也可以对natural0rientation做判断,如果为True则表示连接成功,反之则表示失败.
这样的话就可以真正的开始自动化测试了!!
2. 操作
提示: 最好到https://github.com/openatx/uiautomator2这里先熟悉基本操作的函数(其实里面写的也都是最基本操作)
在这里我就不一一介绍它的函数了,直接上代码与逻辑.
2.1 首先先确保你已经连上了你的设备(无论哪个),这样才能进行接下来的操作
2.2 在上一篇文章里已经介绍了weditor的使用,在输入框内输入你已连接设备的序列号或者ip地址,然后点击连接,如果长时间页面没有出现连接设备的当前页面时可以点击左下角的Home键它也会连接你的设备
注意: 一次只能连接一个设备
2.3 如果页面出现的连接设备的当前设备之后,那么只需要会这么一个步骤你就可以开始的自动化测试了,当然前提是你得熟悉uiautomator2的基本操作
2.4 如上图所示,如果你想点击某个点的时候,只需要先在这里获取这个点的位置,就可以很轻松的实现操作了
2.5 就这样,你已基本掌握了uiautomator2的使用方法了
项目已上传https://github.com/zhixideyu/uiautomator2---FaceBook
---------------------
作者:窒息的鱼
来源:CSDN
原文:https://blog.csdn.net/qq_41664526/article/details/81103453
版权声明:本文为博主原创文章,转载请附上博文链接!
使用uiautomator2自动化测试app(二)------操作篇的更多相关文章
- Mysql优化(出自官方文档) - 第十二篇(优化锁操作篇)
Mysql优化(出自官方文档) - 第十二篇(优化锁操作篇) 目录 Mysql优化(出自官方文档) - 第十二篇(优化锁操作篇) 1 Internal Locking Methods Row-Leve ...
- Appium移动自动化测试(二)--安装Android开发环境(转)
Appium移动自动化测试(二)--安装Android开发环境 2015-06-04 17:30 by 虫师, 35299 阅读, 23 评论, 收藏, 编辑 继续Appium环境的搭建. 第二节 ...
- 【如何快速的开发一个完整的iOS直播app】(原理篇)
原文转自:袁峥Seemygo 感谢分享.自我学习 目录 [如何快速的开发一个完整的iOS直播app](原理篇) [如何快速的开发一个完整的iOS直播app](播放篇) [如何快速的开发一个完整的 ...
- iOS:app直播---采集篇
[如何快速的开发一个完整的iOS直播app](采集篇) 转载自简书@袁峥Seemygo:http://www.jianshu.com/p/c71bfda055fa 前言 开发一款直播app,首先需要采 ...
- iOS:app直播---原理篇
[如何快速的开发一个完整的iOS直播app](原理篇) 转载自简书@袁峥Seemygo:http://www.jianshu.com/p/7b2f1df74420 一.个人见解(直播难与易) 直播 ...
- python自动化测试应用-第6篇(WEB测试)--Selenium元素篇
篇6 python自动化测试应用-Selenium基础篇 --lamecho 1.1概要 大家好!我是lamecho(辣么丑),上一篇我们搭建好p ...
- .NET Core快速入门教程 2、我的第一个.NET Core App(Windows篇)
一.前言 本篇开发环境?1.操作系统: Windows 10 X642.SDK: .NET Core 2.0 Preview 二.安装 .NET Core SDK 1.下载 .NET Core下载地址 ...
- .NET Core快速入门教程 3、我的第一个.NET Core App (CentOS篇)
一.前言 本篇开发环境?1.操作系统:CentOS7(因为ken比较偏爱CentOS7)2.SDK版本:.NET Core 2.0 Preview 你可能需要的前置知识1.了解如何通过Hyper-V安 ...
- Sass进阶之路,之二(进阶篇)
Sass之二(进阶篇) 1. 数据类型 1.1 Number 数字类型,小数类型,带有像素单位的数字类型,全部都属于Number类型 Number类型详情请点击这里,下面是小例子 1.$n1: 1.2 ...
随机推荐
- JavaScript 之 取消 a 标签的默认行为
方式一 语法格式: <a href="javascript:;">百度</a> javascript: 是一个伪协议,其他的伪协议还有 mail: tel ...
- spring和springmvc
1. 为什么使用Spring ? 1). 方便解耦,简化开发 通过Spring提供的IoC容器,可以将对象之间的依赖关系交由Spring进行控制,避免硬编码所造成的过度程序耦合. 2). AOP编程的 ...
- kuangbin专题专题四 Til the Cows Come Home POJ - 2387
题目链接:https://vjudge.net/problem/POJ-2387 题意:从编号为n的城市到编号为1的城市的最短路. 思路:dijkstra模板题,直接套板子,代码中我会带点注释给初学者 ...
- CF472G Increase the Constraints
Increase the Constraints 定义两个等长的01字符串的汉明距离为它们字符不同的对应位置的个数. 给你两个01串S,T,现在有q个询问,每次指定S,T中两个定长的子串询问它们的汉明 ...
- ssm批量删除
ssm批量删除 批量删除:顾名思义就是一次性删除多个.删除是根据前台传给后台的id,那么所谓批量删除,就是将多个id传给后台,那么如何传过去呢,前后台的交互该如何实现? 1.jsp页面,先选中所有的要 ...
- 五个wordpress调用随机文章的方法
分享几个WordPress不用插件调用随机文章的方法,不仅增强用户粘性,而且当蜘蛛来爬你的文章的时候每次都会有变化,搜索引擎很喜欢.主要用到的是orderby rand参数,下面就随ytkah一起来看 ...
- keller PAA-3XX/80794系列(绝压)压力传感器
一.瑞士 keller(科勒)压力传感器 keller英文版通讯协议百度网盘:提取码:fusc 广播模式:所有从机都会收到上位机信息 Broadcasting This mode of communi ...
- C++的map用法
图,自动建立表示关键字和键值(key - value)之间的对应关系,两者可以是任何数据类型,key唯一并且自动排序,value不唯一. 1.头文件#include<map> 2.map& ...
- 基于链表的栈(Java)
package com.rao.linkList; /** * @author Srao * @className LinkedStack * @date 2019/12/3 13:59 * @pac ...
- Wooden Signs Gym - 101128E (DP)
Problem E: Wooden Signs \[ Time Limit: 1 s \quad Memory Limit: 256 MiB \] 题意 给出一个\(n\),接下来\(n+1\)个数, ...