一文明白如何使用常用移动端(Android)自动化测试工具 —— Appium

自动化测试

自动化测试大家都有所了解,近十年来,自动化测试这项技能也一直是软件测试从业者想要掌握的一项技能,根据有关调研显示,希望掌握自动化测试技能的人十年来都约占七成

本文会带来自动化测试中的移动端(Android)自动化测试的内容和对其测试框架进行简单的概述,希望可以让大家对Android自动化测试有个大致的理解,然后以Appium为例,介绍其环境搭建和基本使用。

Android自动化测试

Android自动化测试简述 自动化测试内容 Android可以通过自动化框架或云测试平台进行自动化测试,测试内容包括以下几个方面 :

  • 兼容性测试:安装、启动、卸载
  • 功能测试:手势操作、功能验证
  • 稳定性测试:app 是否容易出现闪退等现象
  • 场景测试:模拟真实网络场景,2G、3G、4G、wifi 网络的切换

自动化测试框架

Espresso Espresso 是 Google 针对 Android 平台开源的一款 Android 自动化测试框架,主要是用于 Android App UI 自动化测试,采用Java编写测试代码,有Glide和Android Studio支持,测试跑起来相当的快

UI Automator 也是 Google 官方出的一种简单的UI自动化测试工具,可跨APP测试,必须要Android4.0以上才能使用,如果在定位时想要使用使用资源id来定位控件的话,则必须在API18以上 uiautomatorviewer是android SDK自带的工具。通过截屏并分析XML布局文件的方式,为用户提供控件信息查看服务。该工具位于SDK目录下的tools\bin子目录下

Appium Appium 是一个开源的、跨平台的测试框架,可以用来测试 Native App、混合应用、移动 Web 应用(H5 应用)等 Appium: 是 Appium 体系的核心,因为它本身也是一个 web 接口服务,所以也会被成为 appium server,对外默认开启包括 4723 等多个端口。 Appium-Desktop:是为了让 Appium 能够更好用,让小白入门更容易,让调试和界面分析更方便,官方开发了 GUI 的工具 Appium-desktop。 Appium Client: Appium 只是一个 Web 接口,他接受 HTTP 请求,所以各个语言都可以自己封装发送请求,于是就有 appium 下的各个子项目

在以上三个框架中,当属Appium为最为常见,特别在近些年,Appium的市场占比从25%到19年的42%,在不出现大的技术性突破下,Appium将来会有更大的市场占比,学会Appium这项工具,会变得更加迫切

接下来将教大家如何安装和使用Appium这款工具

Appium的安装和使用

Apppium安装和配置(Mac 版) 基础环境搭建

1 安装java环境 ,git,ruby,brew, Android SDK环境

// 检查是否安装上述环境

java -version
git --version
ruby -v
brew -v
adb

2 配置相关环境变量 安装Appium和相关包(Java版)

1 Appium下载

2 java-client和selenium包下载 选择对应的Java Client,并在其详情页下方的Compile Dependencies,将依赖的selenium包也下载下来。在编写java自动化测试脚本时,按需下载Compile Dependencies中的包,如commons-lang3。

Apppium基本使用

adb 命令

  • 采用tcpip连接手机(需要电脑和手机在同一个局域网下)
python 复制代码
// 先usb连接手机,设置手机tcp连接端口为5555
adb tcpip 5555
// 断开usb,采用tcpip连接手机
adb connect 10.33.70.165:5555
// 断开tcpip连接
adb disconnect 10.33.70.165:5555

获取App信息

python 复制代码
 // 获取当前界面元素
adb shell dumpsys activity top
// 获取App入口
adb shell dumpsys activity activities
// 启动app
adb shell am start -W -n com.xueqiu.android/.view.WelcomeActivityAlias -S
// 获取当前界面元素 adb shell dumpsys activity top
 
 
  • 操作手机(输入,按键,点击,滑动)

adb shell text/keyevent/tapswipe/press/roll

结语

以上内容就是本篇的全部内容以上内容希望对你有帮助,有被帮助到的朋友欢迎点赞,评论。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

相关推荐
robotx6 分钟前
安卓线程相关
android
消失的旧时光-194327 分钟前
Android 面试高频:JSON 文件、大数据存储与断电安全(从原理到工程实践)
android·面试·json
志栋智能1 小时前
超自动化巡检:应对复杂IT环境的必然选择
运维·网络·安全·web安全·自动化
dalancon1 小时前
VSYNC 信号流程分析 (Android 14)
android
dalancon1 小时前
VSYNC 信号完整流程2
android
dalancon2 小时前
SurfaceFlinger 上帧后 releaseBuffer 完整流程分析
android
用户69371750013843 小时前
不卷AI速度,我卷自己的从容——北京程序员手记
android·前端·人工智能
程序员Android3 小时前
Android 刷新一帧流程trace拆解
android
墨狂之逸才4 小时前
解决 Android/Gradle 编译报错:Comparison method violates its general contract!
android
Mr -老鬼4 小时前
EasyClick 热更新坑点处理方案
自动化·ec·easyclick·易点云测