MAC M1 Pro搭建移动端UI自动化测试环境--Android篇

前言

目前大家熟知的测试主要分为功能测试、接口测试、UI测试,本文重点介绍的则是UI测试

UI 测试

UI 测试 通常分为WEB 端和 移动端,前者主要是针对PC端的网站进行测试,主要是模拟各个浏览器的内核的兼容性,后者则是针对App Native、H5、Hybrid进行模拟测试,发现多机型的兼容性问题

App Native 测试

本文主要介绍APP 原生的UI测试,当然APP 原生目前主流的又分为Android和iOS两大阵营,本文主要先介绍Android,后面文章再介绍iOS的UI测试,

技术选型

采用目前主流的开源框架Appium

在这里插入图片描述

准备依赖的安装包

  1. Jdk 1.8
  2. android-sdk(或者安装android studio)
  3. appium server gui
  4. appium inspector
  5. com.starbucks.cn_8.13.0_4315.apk
  6. 夜神模拟器(或者连接真机测试)

搭建环境

如下步骤皆是以Mac 系统,M1Pro环境下进行实践的

安装android studio

下载地址:
https://android-studio.en.softonic.com/mac
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

安装appium server gui

下载地址:
https://github.com/appium/appium-desktop/releases/tag/v1.22.3-4
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

安装appium inspector

下载地址:
https://github.com/appium/appium-inspector/releases

这个工具下载的目的是为了定位app的界面元素,并可以生成录制界面操作的客户端脚本

在这里插入图片描述

连接真机

以小米10S为例说明
开启【开发者选项】
在【设置】–》【我的设备】–》【全部参数】–》【MIUI版本】
点击多次MIUI版本 开启【开发者选项】

开启USB调试相关开关
在这里插入图片描述
注意:
连接小米真机调试时,还需要在真机安装SIM卡

以星巴克 app为例 自动下单点咖啡

配置主要参数

在这里插入图片描述
{
“platformName”: “Android”,
“appium:platformVersion”: “12”,
“appium:deviceName”: “M2102J2SC”,
“appium:appPackage”: “com.starbucks.cn”,
“appium:appActivity”: “com.starbucks.cn.ui.StarbucksLaunchActivity”
}

deviceName 可以通过如下操作获取:
$adb devices -l
在这里插入图片描述
platformVersion 可以通过如下操作获取:
在这里插入图片描述

appPackage和 appActivity可以通过如下操作获取:

下载星巴克Android安装包apk,可以在应用宝市场中下载
https://a.app.qq.com/o/simple.jsp?pkgname=com.starbucks.cn&channel=0002160650432d595942&fromcase=60001

在这里插入图片描述

开始测试

启动inspector 会话

在这里插入图片描述

录制界面操作脚本

在这里插入图片描述

将录制的脚本复制到python客户端工具中:

el1 = driver.find_element(by=AppiumBy.XPATH, value="/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout/android.view.ViewGroup/android.view.ViewGroup/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.view.ViewGroup/android.widget.LinearLayout/android.view.ViewGroup[3]/android.widget.FrameLayout[1]/android.view.ViewGroup")
el1.click()
el2 = driver.find_element(by=AppiumBy.ID, value="com.starbucks.cn:id/phone_number")
el2.send_keys("13877889911")
el3 = driver.find_element(by=AppiumBy.ID, value="com.starbucks.cn:id/code_button")
el3.click()
el4 = driver.find_element(by=AppiumBy.XPATH, value="/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.view.ViewGroup/android.view.ViewGroup/android.view.ViewGroup/androidx.viewpager.widget.ViewPager/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.FrameLayout/android.widget.EditText")
el4.send_keys("2221")

执行如上脚本完成自动化UI测试

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值