熬夜再战Android从青铜到王者-聊聊自动化测试真经(1)

各大云测试平台

可以提供市面上大部分机型,兼容性测试很广,测完之后都会有详细的测试报告,位置定位比较明确。缺点嘛,就一个「收费」。毕竟人家也是要恰饭的。

😜真经上卷:自动化测试框架

第一重-ADB

开始前,我们先熟悉下ADB几个命令,因为底层的操作其实就是adb的各种真气流转,这点要了解。

安装卸载

adb install 安装包地址 adb uninstall 包名

adb 获取包名/界面名

adb shell dumpsys window windows | findstr mFocusedApp

发送文件到手机

adb push 电脑文件路径 手机文件夹路径

从手机拉取文件

adb pull 手机文件路径 电脑文件夹路径

打印日志信息

adb logcat 找到异常E级别

第二重-UIAutomator2

Google提供的uiautomator库可以获取屏幕上任意一个APP的任意一个控件属性,并对其进行任意操作,但有缺点:

  1. 只能使用Java语言 ;

  2. Android版本大于4.4,

  3. Python大于2.7 必须每次被上传到设备上运行;

为了解决以上缺点,才有了uiautomator2。uiautomator2是一个Android UI自动化框架,支持Python编写测试脚本对设备进行自动化。

基本原理

uiautomator2的底层是基于Google uiautomator,原理是在手机上运行了一个http服务器,将uiautomator中的功能开放出来,然后再将这些http接口,封装成Python库。

安装uiautomator2

  1. pip install --pre uiautomator2

  2. pip install pillow

测试试验脚本

import uiautomator2 as u2

from time import sleep

d = u2.connect(‘192.168.1.66’)

启动App

d.app_start(“com.zhima.app”)

搜索

d(resourceId=“com.zhima.app:id/j0”).click()

输入关键字

d(resourceId=“com.zhima.app:id/p9”).set_text(“flyme”)

搜索按钮

d(resourceId=“com.zhima.app:id/tp”).click()

sleep(2)

停止app

d.app_stop(“com.zhima.app”)

此框架说到这就结束了,有兴趣的可自信修炼,因他不是跨平台的,我们先放一放,重点看第三重-Appium

第三重-Appium介绍

Appium 是一款「移动」的自动化测试框架,牛逼的地方在于支持 iOS 和 Android 原生和混生的移动 Web 应用程序,也就是跨平台。

Appium环境搭建

我们使用Appium和python来进行测试,所以需要安装Appium客户端以及Python环境。

他们的执行顺序是:

python代码 -> Appium-python库 -> Appium -> 手机。

极速体验

  1. 打开手机模拟器/真机

  2. 打开appium工具

  3. 创建python项目

  4. 复制下面代码,并作微微修改

测试示例

from appium import webdriver

import time

desired_caps = dict()

平台的名字,大小写无所谓,不能乱写

desired_caps[‘platformName’] = ‘Android’

平台的版本

desired_caps[‘platformVersion’] = ‘9’

设备的名字,随便写,不能乱写

desired_caps[‘deviceName’] = ‘123456’

要打开的应用程序

desired_caps[‘appPackage’] = ‘com.huawei.systemmanager’

要打开的界面

desired_caps[‘appActivity’] = ‘.mainscreen.MainScreenActivity’

地址就是appium启动页面的地址端口

driver = webdriver.Remote(‘http://localhost:4723/wd/hub’, desired_caps)

time.sleep(5)

到这就有一个简单的启动了,当然既然是自动化测试,单纯启动没什么用,所以我们就需要具体的操作view/控件,这个时候就需要借助UIAutomatorViewer

UIAutomatorViewer

他是用来扫描和分析Android应用程序的UI控件的工具,帮助你快速获取元素特征。

  • 进入SDK目录下的目录

  • mac 在 tools/bin 目录下,打开 uiautomatorviewer

  • windows 在 tools 目录下,打开 uiautomatorviewer.bat

  • 电脑连接真机或打开android模拟器

  • 启动待测试app

  • 点击 uiautomatorviewer 的左上角 Device Screenshot (从左数第二个按钮)

  • 点击希望查看的控件 查看右下角

  • Node Detail 相关信息

有了特征值,后面我们就可以搞事情了。怎么办呢?利用Appium的api进行对应的操作即可

获取当前设备的分辨率

print(driver.get_window_size())

print(driver.get_window_size()[“width”])

print(type(driver.get_window_size()[“width”]))

点击

driver.find_element_by_id(“com.android.settings:id/search”).click()

清空所有文本内容

input_label.clear()

获取文本内容

eles = driver.find_elements_by_id(“com.android.settings:id/title”)

还有更多API就不介绍了,代码是死的,人是活的,灵活运用,可以写出很多骚操作的测试用例。

空名先生-芝麻粒儿

其他的一些框架比如Espresso等,虽然也是Google自己出的,有不少优点,但是年久未更,放一放,以后再说,权当是普及。

😜真经下卷:云测试平台

第一重-腾讯优测云测试平台

图.png

收费高,pass!(图也懒得传)

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

img

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:Android)

学习分享

①「Android面试真题解析大全」PDF完整高清版+②「Android面试知识体系」学习思维导图压缩包

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

g" />

学习分享

①「Android面试真题解析大全」PDF完整高清版+②「Android面试知识体系」学习思维导图压缩包

[外链图片转存中…(img-5Oy0PhpS-1713684651737)]

[外链图片转存中…(img-mCEScsvZ-1713684651738)]

[外链图片转存中…(img-hgmADHP1-1713684651739)]

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值