关于软件测试:软件测试-Appium-用例录制

40次阅读

共计 2919 个字符,预计需要花费 8 分钟才能阅读完成。

​ Appium Desktop 是一款用于 Mac、Windows 和 Linux 的开源利用,它提供了 Appium Server,Appium Inspector 以及相干的工具的组合。

Appium Desktop 是个图形界面,能够设置选项、启动 / 进行服务器、查看日志等性能。Appium Inspector 能够查看应用程序的元素,并进行根本的交互、录制等性能。

下载及装置

下载地址:

https://github.com/appium/app…

下载对应零碎的 Appium 版本,装置实现之后,点击“Start Server”,就启动了 Appium Server。

在启动胜利页面点击右上角的放大镜,进入到创立 Session 页面。配置好 desirecapability 信息之后,点击“Start Session”启动会话就展现出上面的页面。Appium Inspector 元素定位页面:

​编辑

左侧为屏幕快照:能够在左侧应用鼠标抉择 UI 元素,会看到它们高亮显示。

两头为页面 DOM 树结构:在利用层次结构中会间接将元素的属性值标记在树上,这对于 Appium 定位元素很不便。

右侧为元素的详细信息:当元素被选中,右侧会展现出元素的具体属性信息列表。这些属性将决定 Appium 定位元素的策略。

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

Appium 自动化用例录制

Appium Inspect 提供了定位元素与录制用例的性能,应用 Appium Inspect 能够查看挪动设施的 UI 布局构造,不便脚本的编写和生成。上面以 Android 零碎为例。在 Android 模拟器上装置 ApiDemos-debug.apk 利用。

测试利用下载地址:

https://github.com/appium/sam…

下载该 apk 并装置到测试设施,之后会基于该 app 进行自动化测试。

在录制脚本前启动测试设施,并且通过命令行查看该设施已连贯胜利。应用上面的命令查看设施是否连贯,展现出上面的内容,即阐明设施已连贯。

$ adb  devives

List of devices attached

emlulator-5554  device

下面的后果中,“emulator-5554”代表设施的名称,“device”代表设施的状态,阐明设施已连贯。如果是其它状态,须要从新连贯设施,或者在设施上查看是否开启开发者模式,以及关上 USB 调试模式。

获取利用包名和页面名称

挪动端的包名(也就是 Package)作为每个 app 的惟一标识,每个 APP 都有本人的 Package Name,且每个设施上雷同的包名的 APP,只容许装置一个。

页面(也就是 Activity)是 Android 组件中最根本,也是常见的四大组件之一,能够了解为一个页面就是一个 Activity,挪动端关上一个 app 的页面,在操作页面的时候会产生页面的跳转,也就是 Activity 之间产生了切换。在编写测试脚本之前,首先要获取利用的包名以及启动页的 Activity 名字。

获取包名,终端进入 aapt 工具所在目录(Android SDK 的 build-tools 目录下),输出:

aapt dump badging [app 名称].apk

运行后果:

​编辑

图中“package:name”对应的后果是包名,“Lauchable-activity:name”对应的后果是“包名 + 页面名”。然而有些不符合规范的利用,通过 aapt 命令无奈获取到“Lauchable-activity:name”这部分内容。

针对下面的问题,就须要在测试设施上启动 APP,而后在终端输出如下命令(Mac OS / Linux 零碎):

adb logcat | grep ActivityManager

运行后果如下图:

​编辑

Appium-desktop 自动化用例录制

  1. 启动 Appium Server

应用 Appium Inspector 录制测试脚本,首先须要启动 Appium-desktop, 点击“Start Server”,如下图:

​编辑

  1. 关上 Appium Inspect 工具

点击右上角“Start inspector Session”按钮,关上 inspector 工具,图形页面如下:

​编辑

Inspector 就是探测器,给它相应的参数,启动 app 帮你剖析挪动端 APP 的 UI 界面,还能够应用它录制脚本,反对导出多种语言的测试脚本。

  1. 配置 Desired Capabilities 信息

​编辑


platfromName:应用哪个挪动操作系统平台,这里能够填 Android、iOS


deviceName:设施名称,能够轻易填,但必须得有此项


appPackage:要启动的 android 利用程序包(“io.appium.android.apis”)appActivity:App 启动的首页 Activity(“.ApiDemos”或者“io.appium.android.apis/.ApiDemos”)
  1. 启动 Session

点击“Start Session”,录制脚本。

对于 Appium 的初学者,能够通过录制性能,理解编写用例的时候须要应用哪些 API,有哪些编写标准等,能够作为一个很好的参考。

点击“开始录制”按钮(小眼睛图标):

​编辑

左侧抉择要操作的页面元素,在右侧抉择要做的操作:

​编辑

Tap 为点击元素 Send keys 为文本框录入 Clear 为清空文本框

利用上图 1,2 步组合,就能够实现对 app 的操作。比方在截取的页面中鼠标点击“Views”-> 点击 Tap,再点击“Buttons”-> 点击 Tap。每操作一步,都会主动生成脚本,如图:

​编辑

默认生成的语言为 Java-unit,如果想生成其余语言,只有点击下拉栏抉择相应选项即可,这里切换成 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,Unittest)使代码更优雅。代码录制对刚入门的人来说还是比拟实用的,它的毛病也是很显著:


所有的代码都会在一个文件里,显得代码十分的冗余


不能解决工作中大部分的场景

正文完
 0