自动化测试
自动化测试大家都有所了解,近十年来,自动化测试这项技能也一直是软件测试从业者想要掌握的一项技能,根据有关调研显示,希望掌握自动化测试技能的人十年来都约占七成
本文会带来自动化测试中的移动端(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目录下的toolsin子目录下
-
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连接手机(需要电脑和手机在同一个局域网下)
// 先usb连接手机,设置手机tcp连接端口为5555 adb tcpip 5555 // 断开usb,采用tcpip连接手机 adb connect 10.33.70.165:5555 // 断开tcpip连接 adb disconnect 10.33.70.165:5555
-
获取App信息
// 获取当前界面元素 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
结语
以上内容就是本篇的全部内容以上内容希望对你有帮助,有被帮助到的朋友欢迎点赞,评论。如果对软件测试、接口测试、自动化测试、面试经验交流。感兴趣可以关注我,我们会有同行一起技术交流哦。