一文明白如何使用常用移动端(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

结语

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

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

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

相关推荐
阿巴斯甜16 小时前
Android 报错:Zip file '/Users/lyy/develop/repoAndroidLapp/l-app-android-ble/app/bu
android
Kapaseker17 小时前
实战 Compose 中的 IntrinsicSize
android·kotlin
xq952718 小时前
Andorid Google 登录接入文档
android
黄林晴19 小时前
告别 Modifier 地狱,Compose 样式系统要变天了
android·android jetpack
冬奇Lab1 天前
Android触摸事件分发、手势识别与输入优化实战
android·源码阅读
城东米粉儿1 天前
Android MediaPlayer 笔记
android
Jony_1 天前
Android 启动优化方案
android
阿巴斯甜1 天前
Android studio 报错:Cause: error=86, Bad CPU type in executable
android
张小潇1 天前
AOSP15 Input专题InputReader源码分析
android
_小马快跑_2 天前
Kotlin | 协程调度器选择:何时用CoroutineScope配置,何时用launch指定?
android