Android 自动化学习笔记(一)

一.UiAutomator+ UiAutomatorViewer 

       1. 官方方案 
        2. 可以控制到某个节点的点击,活动拖拽等等基本事件 
        3.支持shell脚本

二.Robotium 

        是主流的测试方案之一,是一款免费的Android UI测试工具,
       主要针对Android平台的应用进行黑盒自动化测试

三.AutomatorX

  AutomatorX是网易给出的一套解决方案,是集合了各个测试框架之后给的一个方案,所以目前看来功能点是最全的。

四.Macaca

macaca 是阿里的提供的解决方案,android部分也是基于uiautomator,和AutomatorX很类似,集成了多个工具集。

五.Appium

Appium是一个跨平台工具,它允许测试人员使用同样的接口、基于不同的平台写自动化测试代码,
大大增加了测试套件间代码的复用性。android部分是基于UiAutomator和Selendroid

转:

  

分析

其实现在就只有两种基本的解决方案,其他都是基于这两个的拓展,一个是 uiautomator , 另外一个是 uiautomator出来之前的 Instrumentation .
uiautomator 是基于可以通过页面层级结构获得页面元素,也可以直接模拟按键事件。
Instrumentation 是基于android保留的,对元素控制的钩子。
所以现在的方案一定会基于 uiautomator 。不过是看那个封装起来的足够方便,能减少我们这边的开发成本。
链接:https://www.jianshu.com/p/7ef3c5f49928
 

主要想学习:uiautomator2 ,AutomatorX,Appium 这三个自动化框架

 

uiautomator2:

   Android版本4.4+

   Python版本3.6+

   开启开发者选项,开启usb调试

    连接电脑:adb devices 可以看到设备号

  a. 安装 uiautomator2:python -m pip install -U uiautomator2

   b.安装weditor(UI Inspector) :python -m pip install -U weditor

    c.电脑上连接上一个手机或多个手机,确保adb 已经添加到环境变量中,执行下面的命令

   会自动安装本库所需要的设备端程序 

    python -m uiautomator2 init   安装提示success 即可

 

三.连接设备 

   1.通过WiFi ,需确保同一网络

    import uiautomator2 as u2

   driver  = u2.connect("10.0.01") #手机端wifi ip 地址

   print(driver.info)

 2.通过usb线

   import uiautomator2 as u2

   d = u2.connect("72168d53") # 括号内为adb devices 获取的设备号

  print(d.info)

开始一个测试demo

#导入要用的包
import uiautomator2 as u2
#连接设备
d = u2.connect('M9N7N15930001618')  #括号内为adb devices获取的设备号
print(d.info)  #连接成功可打印设备信息
# 启动APP
d.app_start("com.tencent.wework")   #括号内为要启动的APP包名
#点击企业微信工作台
d.xpath('//*[@text="工作台"]').click()
#向上滑动直到小程序入口元素出现
d(scrollable=True).scroll.to(text="@@@@ x")
#点击小程序入口打开小程序
d.xpath('//*[@text="@@@@ x"]').click()
......
后续就是UI自动化的基本操作,定位元素,等待元素,点击元素,输入文本等等,Xpath定位元素与selenium及appium都一样,只不过uiautomator2有自己的API,大家需熟悉API后根据自己的应用场景灵活调用不同的API实现具体功能来编写测试脚本。

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值