【自动化测试】—— 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

相关推荐
恣逍信点1 小时前
主观是客观的聚焦
人工智能·学习·程序人生·生活·业界资讯·交友·哲学
宏集科技工业物联网2 小时前
宏集EXOR物联网HMI赋能上海易勒篮式研磨机智能化升级
经验分享·物联网·工业4.0·工业自动化·hmi·工控屏
一孤程2 小时前
Airtest自动化测试第五篇:小程序与Web测试——跨平台自动化全覆盖
前端·自动化测试·小程序·自动化·测试·airtest
爱分享的康康3 小时前
自动驾驶国产化多传感器同步数采方案
经验分享
测试老哥3 小时前
Pytest自动化测试详解
自动化测试·软件测试·python·测试工具·测试用例·pytest·接口测试
AFinalStone3 小时前
Android 7系统网络(四)Native层(下)—netd Controller详解
android·网络
爱笑鱼3 小时前
Handler(一):post 之后,Runnable 到底在哪个线程执行?
android
fofantasy4 小时前
NSK LSFC 2020-6 高承载大导程滚珠丝杠详解
经验分享·规格说明书
聚美智数4 小时前
企业建筑资质查询-建筑资质查询-公司建筑资质查询-企业建筑资质资格查询API接口介绍
经验分享
木木子224 小时前
[特殊字符] 音乐播放器——状态驱动的多媒体控制
android·开发语言·华为·php·harmonyos