【自动化测试】—— Appium使用保姆教程

目录

[一. 连接手机](#一. 连接手机)

[1. 授权](#1. 授权)

[2. 调试](#2. 调试)

[3. 获取参数](#3. 获取参数)

[二. 启动APP](#二. 启动APP)

[1. 启动Appium服务](#1. 启动Appium服务)

[2. 启动Appium Inspector](#2. 启动Appium Inspector)

[3. 配置Appium Inspector](#3. 配置Appium Inspector)

[三. 功能说明](#三. 功能说明)

[1. 主菜单功能](#1. 主菜单功能)

[2. 快照视图菜单](#2. 快照视图菜单)

[3. 元素视图菜单](#3. 元素视图菜单)

[四. 常见问题](#四. 常见问题)

[1. appPackage有多个设备时](#1. appPackage有多个设备时)


一. 连接手机

1. 授权

首先将手机的开发者模式打开,不同手机的开启方法不同,这里演示的测试机为三星S21+,其他机型的开启方法大家可以直接百度搜索。

(1)进入手机的【设置】选项

(2)进入【开发者选项】

(注:不同手机这里打开方式不一样,一般手机在【关于手机】里找到【版本号】,连续点击【版本号】7次,即可进入开发者模式。

(3)打开【USB调试】:在<开发者选项>页,滑动找到【USB调试】,打开USB调试

2. 调试

(1)使用数据线连接上手机,如果手机上弹出"是否允许USB调试?"确认框,点【确定】即可。

(2)在电脑键盘上按【Win+R】,输入cmd打开命令行窗口,输入:adb devices

如果连接成功就可以看到你的手机deivce id

注:如果出现device not found,优先检查手机的驱动是否安装正确,也可以到【设备管理器】中去查看对应的设备驱动是否异常,这里推荐使用adb driver installer这个软件来安装对应的设备驱动。

3. 获取参数

我们想要通过Appium来运行相关APP,需要获取与其相关的几个参数(后面会用到):

  • platformName:设备的平台名,Android或iOS。
  • platformVersion:Android内核版本号。
  • deviceName:设备名,这里使用刚才ADB里的device id或deviceName。
  • appPackage:apk的包名,在Android系统中是判断一个App的唯一标识。
  • appActivity:这里可以理解为启动名或启动页。

(1)查看源代码

这里推荐这种方法,如果被测对象是自研的APP,直接问下对应开发同学,这两个参数的值就可以啦,省时省力。

(2)使用ADB命令

连接手机,打开想操作的APP,在cmd中输入以下命令获取参数

查看platformVersion :adb shell getprop ro.build.version.release

查看deviceName: adb devices -l

查看appPackage和appActivity

adb shell "dumpsys window | grep mCurrentFocus"

二. 启动APP

1. 启动Appium服务

动Appium-Server,并且保持连接手机。

2. 启动Appium Inspector

新版appium1.22与Appium inspector分离,需要单独下载Appium-Inspector安装

(1)下载

网盘下载地址:https://pan.quark.cn/s/2670cddd46d0

(2)安装

下载好之后如下,双击执行即可

(3)运行

安装成功后,启动后界面如下:

3. 配置 Appium Inspector

我们要启动APP就需要在Capability Builder区域中填写对应APP的启动参数。

(1)点击【+】按钮,添加属性

(2)Appium Server按默认写(Remote Host:127.0.0.1,RemotePort

:4723,Remote Path:/wd/hub),CapabilityBuilder填入之前获取的各项参数。

(3)点击【Start Session】,启动APP

(4)启动时会在测试手机上自动安装依赖应用,启动完成后会自动打开测试APP,并且在Inspector上显示与APP同步的画面【手机上自动安装的Appium Settings 应用安装好不要卸载】。

  • 左侧是应用程序的屏幕截图(快照视图)。
  • 中间是应用程序的层次结构,表示为XML。
  • 右侧是元素信息视图。

. 功能 说明

1. 主菜单功能

】Press BackButton/操作回退:当我们想要查看返回上一个操作查看页面信息,可以通过点击back 按钮。此时Inspector窗口和手机都会同时回到上一个操作的界面,等同于android手机上的返回键。

】Press Home Buttor/返回主屏幕 :从当前应用或界面返回手机主屏幕。

】Press App Switch Button/应用切换 :快速切换最近打开使用的应用程序。

】Native App Mode :切换为原生APP模式;

】Web/Hybrid App Mode :切换为混合APP模式,如果APP有小程序或者H5的话可以切这个模式;

】Refresh Source&Screenshot/刷新 :当我们在手机上对APP进行操作后,Inspector窗口的屏幕截图不会自动更新,需要我们通过点击刷新按钮,更新应用的最新页面。

】Search for element/查找元素 :我们可以根据各类元素的定位条件进行元素的相关搜索,方便我们快速定位。

】Start Recording/录制 :可以录制自动化测试脚本,但录制出的脚本默认使用的是xpath定位,xpath的定位方式十分的脆弱,绝对路径定位一旦发生变化,脚本的维护就会变得十分的困难,如果一定要用,推荐使用相对路径的定位方法。

】Quit Session/退出 :当我们不再需要使用Inspector,就可以点击x关闭Inspector窗口。

2. 快照 视图 菜单

】Select Elements/查看元素信息: 点击select Elements 按钮,然后在屏幕截图中点击要查看的元素,最后在右侧的区域就可以看到元素的xpath,index,package,class,text,resource-id等信息。

】 Tap/Swipe By Coordinates :使用坐标点击,直接在屏幕截图上使用鼠标来点击元素,手机也会同步操作 。

】 Download Screensho t:下载当前屏幕截图。

3. 元素 视图 菜单

】Tap :模拟点击;

】Send Keys :如果为输入框的话可以使用这个选项来填写对应的内容;

】Clear :清除编辑框内容;

】Copy Attributesto Clipboard/复制页面元素 :复制当前页面元素的属性信息;

】Download Screenshot :下载当前元素截图;

】Get Timing :获取选中的元素响应所需的时长。

. 常见问题

1. appPackage有多个设备时

如果有多个设备,需要依次输以下命令查看:

adb -s XXXX shell 来制定进入的设备

dumpsys window | grep mCurrentFocus 查看appPackage

相关推荐
zhangphil14 分钟前
Android ValueAnimator ImageView animate() rotation,Kotlin
android·kotlin
hunter20620641 分钟前
ubuntu调用图形化网络测试工具
网络·测试工具·ubuntu
徊忆羽菲1 小时前
CentOS7使用源码安装PHP8教程整理
android
贾贾20231 小时前
配电网的自动化和智能化水平介绍
运维·笔记·科技·自动化·能源·制造·智能硬件
Ronin-Lotus2 小时前
上位机知识篇---ROS2命令行命令&静态链接库&动态链接库
学习·程序人生·机器人·bash
编程、小哥哥2 小时前
python操作mysql
android·python
Couvrir洪荒猛兽2 小时前
Android实训十 数据存储和访问
android
贾贾20233 小时前
主站集中式和分布式的配电自动化系统区别在哪里?各适用于什么场所?一文详解
运维·分布式·考研·自动化·生活·能源·制造
思码逸研发效能3 小时前
在 DevOps 实践中,如何构建自动化的持续集成和持续交付(CI/CD)管道,以提高开发和测试效率?
运维·人工智能·ci/cd·自动化·研发效能·devops·效能度量
L73S375 小时前
C++入门(1)
c++·程序人生·考研·蓝桥杯·学习方法