提示:

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(二)------操作篇的更多相关文章

  1. Mysql优化(出自官方文档) - 第十二篇(优化锁操作篇)

    Mysql优化(出自官方文档) - 第十二篇(优化锁操作篇) 目录 Mysql优化(出自官方文档) - 第十二篇(优化锁操作篇) 1 Internal Locking Methods Row-Leve ...

  2. Appium移动自动化测试(二)--安装Android开发环境(转)

    Appium移动自动化测试(二)--安装Android开发环境 2015-06-04 17:30 by 虫师, 35299 阅读, 23 评论, 收藏, 编辑 继续Appium环境的搭建. 第二节   ...

  3. 【如何快速的开发一个完整的iOS直播app】(原理篇)

    原文转自:袁峥Seemygo    感谢分享.自我学习 目录 [如何快速的开发一个完整的iOS直播app](原理篇) [如何快速的开发一个完整的iOS直播app](播放篇) [如何快速的开发一个完整的 ...

  4. iOS:app直播---采集篇

    [如何快速的开发一个完整的iOS直播app](采集篇) 转载自简书@袁峥Seemygo:http://www.jianshu.com/p/c71bfda055fa 前言 开发一款直播app,首先需要采 ...

  5. iOS:app直播---原理篇

    [如何快速的开发一个完整的iOS直播app](原理篇) 转载自简书@袁峥Seemygo:http://www.jianshu.com/p/7b2f1df74420   一.个人见解(直播难与易) 直播 ...

  6. python自动化测试应用-第6篇(WEB测试)--Selenium元素篇

    篇6                            python自动化测试应用-Selenium基础篇 --lamecho 1.1概要 大家好!我是lamecho(辣么丑),上一篇我们搭建好p ...

  7. .NET Core快速入门教程 2、我的第一个.NET Core App(Windows篇)

    一.前言 本篇开发环境?1.操作系统: Windows 10 X642.SDK: .NET Core 2.0 Preview 二.安装 .NET Core SDK 1.下载 .NET Core下载地址 ...

  8. .NET Core快速入门教程 3、我的第一个.NET Core App (CentOS篇)

    一.前言 本篇开发环境?1.操作系统:CentOS7(因为ken比较偏爱CentOS7)2.SDK版本:.NET Core 2.0 Preview 你可能需要的前置知识1.了解如何通过Hyper-V安 ...

  9. Sass进阶之路,之二(进阶篇)

    Sass之二(进阶篇) 1. 数据类型 1.1 Number 数字类型,小数类型,带有像素单位的数字类型,全部都属于Number类型 Number类型详情请点击这里,下面是小例子 1.$n1: 1.2 ...

随机推荐

  1. java 之 集合概述

    一.集合概述 不管是哪一种数据结构,其实本质上都是容器来着,就是用来装对象的.因此,我们就要搞清楚两点:(1)如何存储(2)存储特点 1.集合 集合是 Java 中提供的一种容器,可以用来存储多个数据 ...

  2. windows mysql服务器

    安装完mysql服务器后,需要启动服务器, 才可提供数据库存储服务.windows上如何启动和关闭mysql服务器呢? 1. 启动 进入mysql的安装目录,如D:\Program Files\mys ...

  3. Centos7 rsync+inotify实现实时同步更新

    inotify slave部署      把master上指定文件下载到本地的主机指定目录 yum install rsync –y [root@localhost ~]# useradd rsync ...

  4. pandas 之 索引重塑

    import numpy as np import pandas as pd There are a number of basic operations for rearanging tabular ...

  5. markdown 格式测试

    Q1: before 与 afer 的而区别在哪? Q2: 如何预防"爆仓"? Q3: 在购买量 much > 库存量 num时, 把much自动改为num? -- 在t2的 ...

  6. Ugly Pairs CodeForces - 1156B

    题目链接:https://vjudge.net/problem/CodeForces-1156B 题意:给定一串字符,相邻字符的ASCII码不能是相邻的数字,比如ABC,假设ASCII码为,99 10 ...

  7. Linux命令学习之文件管理

    ~~~~~~~~~~~~ 前言 ~~~~~~~~~~~~ 推荐一个很好的练习平台:https://overthewire.org/wargames/ Wargames有很多个关卡,从基础的Linux使 ...

  8. 数论篇7——组合数 & 卢卡斯定理(Lucas)

    组合数 组合数就是高中排列组合的知识,求解组合数C(n,m),即从n个相同物品中取出m个的方案数. 求解方式 求解通式:$C^{m}_{n}=\dfrac {n!}{m!\left( n-m\righ ...

  9. dfs 排列组合——找所有子集(重复元素和不重复元素)

    17. 子集 中文 English 给定一个含不同整数的集合,返回其所有的子集. 样例 样例 1: 输入:[0] 输出: [ [], [0] ] 样例 2: 输入:[1,2,3] 输出: [ [3], ...

  10. 为什么 JVM 不用 JIT 全程编译?

    考虑到跨平台,所以无法使用AOT: 考虑到执行效率,所以无法全部使用JIT: 编译技术大约分为两种,一种AOT,只线下(offline)就将源代码编译成目标机器码,这是普遍用在系统程序语言中:另一种是 ...