软件测试 | 录制Appium测试用例

518 篇文章 3 订阅
514 篇文章 2 订阅

Appium是一款运行于Windows和linux等平台上的开源工具,它提供了AppiumServer、Appium Inspector 以及相关的工具组合。Appium Desktop是Appium包含的一个图形界面应用,我们在其界面上可以进行设置选项、启动/停止服务器、查看日志等操作。使用Appium Inspector可以查看App程序内的元素,并可进行基本的页面交互,以及可以录制测试脚本等操作。

1.下载及安装Appium Desktop

用户在GitHub网站上下载与自己计算机系统对应的Appium版本,安装Appium Desktop之后,启动Appium Desktop,然后在其界面上点击 “Start Server” 按钮,启动Appium Server。

在启动Appium Server成功页面上点击右上角的放大镜,进入到创建Session页面,在这个页面上配置好desirecapability信息之后,点击 “Start Session” 项启动会话后展示出图5-2所示的页面—Appium Inspector元素定位页面,该页面包括的内容介绍如下。

左侧为屏幕快照:可以在左侧使用鼠标选择UI元素,会看到被选择的UI元素高亮显示。

中间为页面DOM树结构:在App结构中会直接将元素的属性值标记在树结构上,这对于用Appium定位App元素很方便。

右侧为App元素的详细信息:当App元素被选中,右侧会展示出App元素的鲜呼吸属性信息列表。这些属性将决定测试人员定位Appium元素的策略。

另外,Appium Inspector 还提供了页面刷新,页面操作,录制,元素的点击、输入等功能。

 2.Appium自动化测试用例录制

Appium Inspect 提供了定位元素与录制用例的功能,使用 Appium Inspect 可以查看App的 UI 布局结构,方便脚本的编写和生成。下面以 Android 系统为例。在 Android 模拟器上安装 ApiDemos-debug.apk 应用。

测试App下载地址:

https://GitHub网站/appium/sample-code/raw/master/sample-code/apps/ApiDemos/bin/ApiDemos-dubug.apk

现在该App的apk格式文件并安装到测试设备上,然后我们基于该App进行自动化测试演示。

在录制测试用例(脚本)前先启动装有该App的测试设备,并且通过命令行查看该设备已与计算机连接成功。使用下面的命令查看设备是否连接成功。

$ adb devices

若展示出下面的内容,即说明设备已连接。

List of devices attached
emulator-5554   device

展示的内容中,“emulator-5554” 代表设备的名称,“device” 代表设备的状态,说明设备已连接。如果是其他状态,需要重新连接设备,或者在设备上检查是否开启开发者模式及打开USB调试模式。

3.获取App包名和页面名称

移动端的包名(也就是 Package)作为每个 App 的唯一标识,每个 APP 都有自己的 包名,且每个设备上相同的包名的 APP只允许安装一个。

Activity是Android组件中最基本,也是最常见的四大组件之一,可以把它理解为一个页面就是一个Activity。在移动端设备打开一个App的页面,在操作App页面的时候会发生页面的跳转,也就是Activity之间发生了切换。在编写测试脚本之前,我们首先要获取App的包名以及启动页的Activity名字。

获取包名的操作步骤如下。

(1)打开终端,进入aapt工具所在的目录(Android SDK下的build-tools目录)。

(2)输入命令'aapt dump badging[App 名称].apk'。

aapt dump badging [app名称] .apk

运行结果(见图5-3).

 图5-3中 “package:name” 对应的结果是包名,“launchable-activity:name” 对应的结果是 “包名+页面名”。但是有些应用通过aapt工具无法获取到页面名称。

针对这个问题,可以通过命令的方式来获取页面名称等消息,在命令行中输入如下命令(macOS/Linux系统)即可:

4.测试用例录制

(1)启动Appium Server

使用Appiuim Inspector录制测试用例,首先需要启动Appium,在启动页面点击 “ Start Sever”项,会出现图5-5所示的界面。

 (2)打开Appium Inspect工具

点击右上角放大镜按钮,跳转到新的页面,界面如图5-6所示。

Appium Inspector是探测器工具,我们通过给它设置相应的参数,用它可以分析移动端App的界面,还可以使用它录制测试用例,也可以用它导出多种语言版本的测试用例(脚本)。

(3)配置Desired Capabilites信息(见图5-7)

下面介绍一下图5-7中配置项的用处。

1)platfromName:使用哪个移动操作系统平台,这里可以填 Android、iOS 以及 FirefoxOS

2)deviceName:录入使用的移动设备或模拟器,这里可以随便填,但必须得有此项

3)appPackage:录入你要启动的 android 应用程序包,我们填“io.appium.android.apis”

4)appActivity:录入 App 启动的首个 Activity,我们填“.ApiDemos”或者“io.appium.android.apis/.ApiDemos”

(4)启动Session

在图5-7中点击 “Start Session” 按钮,录制测试用例(脚本)。

Appium的初学者可以通过录制功能,将测试用例录制出来,通过录制出来的测试用例,可以分析和了解录制操作使用的API以及测试用例编写规范等。

点击 “Start Recording” 按钮(小眼睛图标)开始录制测试用例,如图5-8所示。

在开始录制测试用例的界面左侧,选择被测App的页面元素,在右侧选择对页面元素要做的操作,如图5-9所示。

利用图5-9所示的1步和3步组合,就可以实现对App的测试操作。例如,在页面左侧用鼠标点击 “Views” 项,在右侧出现一些选项卡,再点击 “Tap” 选项卡,这时(如果开启了录制功能)就会将这步是操作自动录制生成一段代码,如图5-10所示。

默认生成的测试用例(脚本)为Java语言格式,如果想生成其他语言格式的测试用例(脚本),只要在图5-10中的语言选择框点击下拉栏选择相应语言选项即可,如切换成Python语言。

把上述操作生成的测试用例(脚本)复制到编辑器中,这是可以运行的代码,具体如下

from appium import webdriver
​
caps = {}
caps["platformName"] = "android"
caps["deviceName"] = "demo"
caps["appPackage"] = "io.appium.android.apis"
caps["appActivity"] = ".ApiDemos"
caps["autoGrantPermissions"] = "true"
driver = webdriver.Remote("http://localhost:4723/wd/hub", caps)
​
el2 = driver.find_element_by_id("tv.danmaku.bili:id/expand_search")
el2.click()
el3 = driver.find_element_by_accessibility_id("搜索查询")
el3.send_keys("霍格沃兹测试学院")
driver.quit()

上面是录制出来的测试用例(脚本)。录制生成的代码在使用前需要手动优化,在代码中添加必要的单元测试框架(如pytest),以便使代码的运行更高校。代码录制对刚入门的人来说还是比较实用的,但是它的缺点很明显:

1)所有的代码都在一个文件里,显得代码非常冗余;

2)不能解决工作中大部分的测试场景。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Appium自动化测试用例可以通过使用Appium Inspector进行录制和生成。首先,需要配置待测应用并连接移动设备成功后,在Appium Inspector中点击录制按钮开始录制用例。在录制过程中,可以通过点击操作选中元素,并进行相应的操作,如点击、输入等。录制完成后,可以生成用例脚本。\[3\] 生成的用例脚本可以包含以下内容: - 使用driver.find_element方法找到元素,并使用相应的操作方法进行操作,如点击、输入等。例如:el1 = driver.find_element(by=AppiumBy.ACCESSIBILITY_ID, value="OS") el1.click() - 可以对生成的用例脚本进行优化,添加capability信息、初始化webdriver、添加setup和teardown、添加隐式等待和noReset属性等,以增强用例的稳定性。\[3\] 此外,还可以添加断言来验证测试结果的准确性。通过添加断言,可以判断测试过程中的期望结果是否与实际结果一致,从而判断测试用例是否通过。\[3\] 总结来说,Appium自动化测试用例可以通过使用Appium Inspector进行录制和生成,然后可以对生成的用例脚本进行优化和添加断言来增强用例的稳定性和准确性。 #### 引用[.reference_title] - *1* *2* *3* [【App自动化测试】(三)使用Appium进行自动化用例录制](https://blog.csdn.net/gjj920318/article/details/127996223)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值