android环境搭建_Android端自动化,你还在用appium吗?实用的U2环境搭建

u2是我对uiautomator2的简称。是uiautomator的升级版本。各大网站有很多介绍了。简单介绍重点:

1,基于 Instrumentation, 可以获取应用Context,可以使用Android服务及接口。

2,2.0基于 Junit4,测试用例无需继承于任何父类,方法名不限,使用Annotation进行.

3,引入appium-uiautomator2-server,目的是为了替换掉之前的UiAutomator+Bootstrap模式.

它获取toast的API大家都喜欢0!

为什么要实用U2?看完这篇文章,你心中自然会有答案。

不废话,直接上干货。

以下分为两个部分:1,环境搭建 2,hello world

一,环境搭建

首先说明一点,我是基于win10环境的。(win10很好用,不知道为什么网上那么多人吐槽)

1,jdk的安装

这个原本是打算详细说的,但是jdk8, jdk11的略有不同。小白还是百度一下jdk的安装吧!

jdk8系列点击安装完成后,环境变量中新建JAVA_HOME,CLASSPATH,然后添加到path变量中。完成之后不要忘记到cmd里面验证一下:java -version

2,adb配置

不多说了,一切都在下图中:

c7289fb77e479870e86bf59e69887cd4.png

提供一个下载地址:

Android开发工具 Android SDK下载 Android Studio下载 Gradle下载 SDK Tools下载​www.androiddevtools.cn
fc45fde374b2e53ddcb69b7a245980cb.png

再附上一个图吧,主要是照顾一些新手(当年自己也很头疼)。

关于adb的配置,网上有许多乱七八糟的说法,操作起来,对于新手来说挺烦的。特别是你用appium的话,adb的版本还要和appium里面的一致。

e7678667b75a02ede8906bdb24869810.png

下载后放在一个位置(你随意),然后如上图配置环境变量即可。

惯例:cmd里面验证下:输入abd

ec6e2b6e400be963c0a7458e5b6e18f9.png

以上都是运行环境所必须的。

接下来是u2及python的安装。

1,先安装个python(python简单快捷优雅,测试首选!Java是最讨厌的开发语言之一)

https://www.python.org/​www.python.org

安装过程中记得勾选将pip添加到path中(安装时,慢点,仔细看,总会看到这些字眼的,勾上即可)

2,安装u2的依赖项:pillow,pbr

还是在cmd中进行安装:

pip install pillow, pip install pbr

如果安装不了,使用pip3 install xxx试试看。pypi资源不大好,很慢

3,安装u2

pip install uiatuomator2

4,初始化。

u2在正式运行前,是需要连接手机初始化的。

还是在cmd中输入:python -m uiautomator2 init

5,元素定位,就是如何识别APP上的元素及属性

安装:pip install weditor

启动方式: python -m weditor,然后会自动弹出浏览器打开网址

输入手机的ip,点击连接即可,如下图。

dde523e71bbec323374e78e2409f7c00.png

至此,一个基础的基于u2的Android自动化运行环境就搭建好了!

除去啰嗦的话之外,其实操作起来就那么几步。。。比appium好多了。至少安装完不会有啥问题。

tips:如果你是初学者的话,还是建议仔细看一看吧!

二,hello world

起这个名字是基于IT界的传统--环境弄好之后总得试一下吧!

U2连接设备的两种方式:

1,通过手机设备号进行连接(cmd中输入adb devices获得)

2,通过手机ip进行连接。手机和电脑必须在同一局域网内

8963cc2acebfea2142af4b76047661d2.png

启动/停止APP:

f0139f4ec32494f7ed595c64fedd9181.png

包名获取方法:

首先要运行被测的app

方法一:

8b5f1ad4d28abea7e5e662036b968fcc.png

方法二:

使用adb shell dumpsys window | findstr mCurrentFocus 命令,可以查看当前启动中的应用信息

f20a7f4646900f2b4d0150f4f64ee3f7.png

demo:

import uiautomator2 as u2

d2=u2.connect("721QEBR923Q49")

d2.app_start("http://com.xx.xxx")

dev_info = d2.device_info

width = dev_info["display"]["width"] # 获取屏幕的宽度

height = dev_info["display"]['height'] # 获取屏幕的高度

try:

#self.driver(text="取消").click()

d2(textContained="允许").click()

d2(textContained="允许").click()

print("授权成功")

except:

print("无需授权")

try:

d2(resourceId="com.xx.xxx:id/tv_skip").click()

except:

d2.swipe(width / 2, height / 2, 0, height / 2)

是不是很简单!

U2操作元素的api是很简单但又很丰富的。自行查阅去吧!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值