Appium 移动扩展包包含一些工具,可以帮助你为 移动扩展包包含一些工具,可以帮助您为 Android 和 iOS 应用程序(本地、web 和混合)执行 Junit 格式的 Appium 移动测试。在本章节中:
Table of Contents | ||
---|---|---|
|
关于该工具
包中包含了以下工具。包中包含以下工具。
Appium 移动执行器工具
Appium 移动执行器工具能够结合使用 SOAtest 运行的各种其他类型的测试来执行 Junit 格式的 Appium 测试。它支持针对 Android 和 iOS 应用程序(原生、web 和混合)的 Junit 功能测试。测试可以在 Android 模拟器、iOS 模拟器或本机设备(iOS 或 Android)上执行。要测试的特定 OS 版本的支持取决于 Appium 服务器。有关更多信息,请查阅 Appium documentation 。
你可以设计并执行一个单一的、整体的测试场景,该场景将移动测试编排为更广泛的事件序列的一部分。例如,你可以使用最直观的 您可以设计并执行一个单一的、整体的测试场景,该场景将移动测试编排为更广泛的事件序列的一部分。例如,您可以使用最直观的 SOAtest 界面:
- 运行一个执行多个操作的场景来设置测试环境或测试数据,
- 运行单元和服务级别测试,
- 执行移动测试。
你可以从中提取值,用于验证和您可以从中提取值,用于验证和/或填充端到端测试场景中涉及的其他工具。
启动 Appium 服务器工具
...
- 9.10.X 或更高版本的 SOAtest 运行带 Java 8 或更高版本的 Eclipse。
- 1.6.5 或更高版本的 Appium 服务器。你可以安装 服务器。您可以安装 Desktop App ,也可以将 Appium 安装在 Node.js 服务器上。
- Appium 期望你计划运行的测试类型的先决条件和配置。关于更多详情,请查阅 期望您计划运行的测试类型的先决条件和配置。关于更多详情,请查阅 Appium documentation ,尤其是 Setting up the Appium Client。
如果你计划与模拟器连接,则 如果您计划与模拟器连接,则 Junit 必须按照 Appium Concepts 或Desired Capabilities documentation中所描述的那样描述所需功能。例如:
Code Block DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.setCapability("platformName", "Android"); capabilities.setCapability("deviceName", "testDevice"); capabilities.setCapability("platformVersion", "4.4.2"); capabilities.setCapability("app", "C:\path\to\application.apk");
Info title “设备名称”必须始终在工具 UI 和 JUnit 中设置 这是 这是一个 Appium 需求。其他设置必须在 要求。其他设置必须在 JUnit 测试本身或工具 UI 中设置。在工具 UI 中指定的设置将覆盖 JUnit 中设置的值。
支持用 3.8.x 和 4 格式的 JUnit 编写 Appium Selenium WebDriver 测试。测试应该根据 Appium 需求编写和配置,如 Running tests 帮助主题所述。
安装指南
工具集可以从 可以从 UI 或命令行安装。或命令行安装该工具集。
UI 安装指南
- 选择 Parasoft> 首选项 Preferences。
- 在系统属性首选项页面,单击 添加 Add JARs。
- 导航到 appiumextensions.jar 文件。
- 重启 SOAtest/Virtualize。
...
需要为要运行测试的特定移动平台设置环境。关于更多详情,请查阅 Appium documentation ,尤其是 requirements 和 setup。
启动 Appium 服务器工具的使用说明
你可以使用添加测试向导将启动 您可以使用添加测试向导将启动 Appium 服务器工具添加为独立版工具 (请查阅 添加项目、.tst 文件和测试套件)。将启动 Appium 服务器工具放在测试套件中的 Appium Mobile Executor 工具之前。
...
Scroll Table Layout | ||
---|---|---|
|
Node.js 安装目录Installation Directory | 指定安装 Node.js 的目录。目录应该包含 node.exe(Windows)或 bin/node (Linux 或 Mac)。在Windows上,目录通常是 "C:\Program Files\nodejs"。只需要在 Node.js 不在路径上时配置此设置。 |
---|---|
Appium 安装目录Installation Directory | 指定安装 Appium 服务器的目录(不是 Appium Desktop)。 如果你将 如果您将 Appium 安装到 Node.js 中,则以下目录通常包含服务器: <APPIUM_DESKTOP_INSTALL>/resources/app/node_modules/appium. 如果你通过安装 如果您通过安装 Node.js 获得 Appium 服务器,则以下目录通常包含服务器: %APPDATA%\npm\node_modules\appium (Windows) or /usr/local/lib/node_modules/appium (Linux or Mac). 如果 APPIUM_HOME 未定义并指向有效的 Appium 安装,则不需要此设置。 如果使用 HomeBrew (如 Appium 文档中所述)在 Mac 上安装 Appium,则不需要指定 APPIUM_HOME 或在该字段中输入值。 |
端口号Port (Appium flag: --port) | 运行 Appium 服务器的端口。默认为 4713 。 |
附加服务器标志(可选)Additional Server Flags (optional) | 指定要使用的任何可选 服务器标志 。
<temp>/parasoft/xtest/AppiumServerLog-< timestamp>.txt |
...
Scroll Table Layout | ||
---|---|---|
|
平台名称Platform Name (Appium flag: --platform-name) | 设备平台的名称。可能的值有 iOS 或 Android 。必须按照指定的方式输入平台名称(比如, iOS 而不是 I OS )。 |
---|---|
平台版本Platform Version (Appium flag: --platform-version) | 指定平台的版本(比如, 7.1 、 4.4 )。 |
设置名称Device Name (Appium flag: --device-name) | 对于 iOS,指定模拟设备或物理设备的名称。 对于 Android 物理设备,指定物理设备的名称。如果想要启动模拟的 Android 设备,请使用 Android Virtual Device Name 字段代替。输入设备名或 Android 虚拟设备名,而不是两者都输入。 |
Android 虚拟设备名称Virtual Device Name (Appium flag: --avd) | 指定要启动的 Android 虚拟设备的名称。输入设备名或 Android 虚拟设备名,而不是两者都输入。 |
...
Scroll Table Layout | ||
---|---|---|
|
App 位置Location (Appium flag: --app) | 为要启动的应用程序指定可执行文件的位置。 |
---|
...
如果计划启动 Android 设备,则必须定义 ANDROID_HOME。例如,这个变量可以在 Windows 上设置为 %LOCALAPPDATA%\Android\Sdk" 。
如果你正在使用插入机器的物理 如果您正在使用插入机器的物理 Android 设备,请指定 Device Name 设置,并保留 Android Virtual Device Name 设置为空。
如果你正在使用模拟的 如果您正在使用模拟的 Android 设备,请指定 Android Virtual Device Name 设置,并保留 Device Name 设置为空。在下面的例子中,启动 Appium 服务器设置是为运行在模拟器上的 Android 测试配置的:
...
在下面的例子中,启动 Appium 服务器设置是基于 Appium 桌面应用程序为 iOS 应用程序配置的:
你可以使用模拟器和物理设备的 您可以使用模拟器和物理设备的 Device Name 设置。始终保留 Android Virtual Device Name 设置为空。
停止 Appium 服务器工具的使用说明
你可以使用添加测试向导将启动 您可以使用添加测试向导将启动 Appium 服务器工具添加为独立版工具(请查阅 添加项目、.tst 文件和测试套件)。将停止 Appium 服务器工具放在 Appium Mobile Executor 之后,并在测试套件中启动 Appium 服务器工具。
如果你想确保即使包含套件中的任何工具失败也能运行该工具,那么你可以将该工具添加为拆卸测试。如果您想确保即使包含套件中的任何工具失败也能运行该工具,那么您可以将该工具添加为拆卸测试。
此工具不需要配置。它预先配置为关闭使用启动 Appium 服务器工具打开的所有服务器实例。本工具不会关闭以下组件:
- Android 模拟器或 iPhone 模拟器(因为 Appium 不处理这些操作)。
- 未使用启动 Appium 服务器工具启动的服务器。
Appium 移动执行器的使用说明
你可以使用添加测试向导将 您可以使用添加测试向导将 Appium 移动执行器工具添加为独立的工具(请查阅 添加项目、.tst 文件和测试套件)。
测试的类文件夹或 .jar 文件必须包含你希望执行的 文件必须包含您希望执行的 JUnit。其他依赖项可以包含在 jar/folder 中,添加到系统属性中,或者两者都包含。该工具首先查看 jar/folder,然后查看系统属性(如果需要的话)。Appium 服务器需要在 Appium 执行器能够运行任何 Junit 测试之前运行。服务器不会自动启动。
...
- 指定测试的类文件夹或 jar 文件,以及要运行的测试类和测试方法。
- (可选)如果要从该工具动态更改 Junit 值,请在 Data 字段中输入以分号分隔的键值对。
你可以使用 您可以使用 Java 的系统属性对象从 Junit 源代码中访问变量。例如:
...
- 指定测试的类文件夹或 jar 文件,以及测试类。保留 Method 字段为空。
- (可选)如果要从该工具动态更改 Junit 值,请在 Data 字段中输入以分号分隔的键值对。
你可以使用 您可以使用 Java 的系统属性对象从 Junit 源代码中访问变量。例如:
String lastName = System.getProperty("lastName")
审查执行详情
当测试开始时,你的应用程序将在相关的模拟器、模拟器或设备中启动。当测试执行时,你可以观察 当测试开始时,您的应用程序将在相关的模拟器、仿真器或设备中启动。当测试执行时,您可以观察 simulator/emulator/device,以了解测试操作如何影响应用程序。与 Appium 相关的执行细节将在 Appium 服务器窗口中报告。
...
Application.showMessage("this displays in the console");
若要要访问应用程序上下文,JUnit 若要访问应用程序上下文,JUnit 需要导入 com.parasoft.api 包。确保将 [install dir]/plugins/com.parasoft.xtest.libs.web_[version]/root/com.parasoft.api.jar 添加到 Java 项目类路径中,以启用该导入。
...
SOAtest/Virtualize 可以从 Junit 测试和其他 SOAtest/Virtualize 工具中检索数据。你需要配置 工具中检索数据。您需要配置 Junit,以指示希望存储哪些值,并将适当的工具附加到执行器工具的 Junit 输出。数据将以 XML 格式传递到附加的工具。例如,你可以将数据发送到 格式传递到附加的工具。例如,您可以将数据发送到 Diff、 XML 断言器或 XML 数据库 工具。
配置 Junit 输出
在使用 JUnit 输出类型之前,你的 输出类型之前,您的 Junit 必须访问应用程序上下文,并在“custom_tool_junit_output”键下的标准 Java 映射中存储所需的值。Appium 移动执行器工具将检查存储映射的应用程序上下文,并将其转换为 XML,并将其传递给该工具的“JUnit Output”输出。映射的键和值必须是字符串。如果希望 Junit 返回一个页面源字符串,请将整个源放到映射中的一个值中(如下面的 example 所示)。
若要要访问应用程序上下文,JUnit 若要访问应用程序上下文,JUnit 需要导入 com.parasoft.api 包。确保将 [install dir]/plugins/com.parasoft.xtest.libs.web_[version]/root/com.parasoft.api.jar 添加到 Java 项目类路径中,以启用该导入。
...
- 右键单击 Appium 移动执行器工具,并从快捷菜单中选择 Add Output 。
- 选择 JUnit Output (左侧)以及要要接收该输出的工具(右侧)。
- 单击 Finish。
例如
假设你希望获得一个 假设您希望获得一个 XML 格式的应用程序布局源,然后将其发送到一个 XML 数据库,这样你就可以从移动应用程序中提取一个值,以便在随后的测试中使用。数据库,这样您就可以从移动应用程序中提取一个值,以便在随后的测试中使用。
通过创建一个 Junit,该 Junit 1)构造一个包含应该发送到 XML 数据库的值的映射,2)将该映射放入应用程序上下文中来启动。映射中的值将被转换成 XML 文档,并传递给任何附加到 Junit 输出的工具:
...
添加一个 Appium 移动执行器工具,该工具配置为接下来运行此测试。给该工具一个 Junit 输出,它将该数据发送到 XML 数据库工具。
在这里,你可以指定要提取哪些值,然后在其他工具中使用它们。注意,映射的内容出现在 在这里,您可以指定要提取哪些值,然后在其他工具中使用它们。注意,映射的内容出现在 XML 文档中的 <root> 元素下面,该元素传递给附加到 Junit 输出的工具。
...