Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Published by Scroll Versions from space FUNCTDEV and version SOAVIRT_9.10.6_CTP_3.1.2

Appium 移动扩展包包含一些工具,可以帮助你为 移动扩展包包含一些工具,可以帮助您为 Android 和 iOS 应用程序(本地、web 和混合)执行 Junit 格式的 Appium 移动测试。在本章节中:

Table of Contents
maxLevel1

关于该工具

包含了以下工具。包中包含以下工具。

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 安装指南

  1. 选择 Parasoft> 首选项 Preferences
  2. 在系统属性首选项页面,单击 添加 Add JARs
  3. 导航到 appiumextensions.jar 文件。
  4. 重启 SOAtest/Virtualize。

...

需要为要运行测试的特定移动平台设置环境。关于更多详情,请查阅 Appium documentation ,尤其是 requirementssetup

启动 Appium 服务器工具的使用说明

你可以使用添加测试向导将启动 您可以使用添加测试向导将启动 Appium 服务器工具添加为独立版工具 (请查阅 添加项目、.tst 文件和测试套件。将启动 Appium 服务器工具放在测试套件中的 Appium Mobile Executor 工具之前。

...

Scroll Table Layout
widths30%,70%

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)

指定要使用的任何可选 服务器标志

–log server 标记不适用,因为日志会自动重定向到以下文件:

<temp>/parasoft/xtest/AppiumServerLog-< timestamp>.txt

...

Scroll Table Layout
widths30%,70%

平台名称Platform Name

(Appium flag: --platform-name)

设备平台的名称。可能的值有 iOSAndroid。必须按照指定的方式输入平台名称(比如, iOS而不是 I OS)。

平台版本Platform Version

(Appium flag: --platform-version)

指定平台的版本(比如, 7.14.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
widths30%,70%

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 测试之前运行。服务器不会自动启动。

...

  1. 指定测试的类文件夹或 jar 文件,以及要运行的测试类和测试方法。
  2. (可选)如果要从该工具动态更改 Junit 值,请在 Data 字段中输入以分号分隔的键值对。

你可以使用 您可以使用 Java 的系统属性对象从 Junit 源代码中访问变量。例如:

...

  1. 指定测试的类文件夹或 jar 文件,以及测试类。保留 Method 字段为空。
  2. (可选)如果要从该工具动态更改 Junit 值,请在 Data 字段中输入以分号分隔的键值对。

你可以使用 您可以使用 Java 的系统属性对象从 Junit 源代码中访问变量。例如: 

String lastName = System.getProperty("lastName")

审查执行详情

当测试开始时,你的应用程序将在相关的模拟器、仿真器或设备中启动。当测试执行时,你可以观察 当测试开始时,您的应用程序将在相关的模拟器、仿真器或设备中启动。当测试执行时,您可以观察 simulator/emulator/device,以了解测试操作如何影响应用程序。与 Appium 相关的执行细节将在 Appium 服务器窗口中报告。

...

SOAtest/Virtualize 可以从 Junit 测试和其他 SOAtest/Virtualize 工具中检索数据。你需要配置 工具中检索数据。您需要配置 Junit,以指示希望存储哪些值,并将适当的工具附加到执行器工具的 Junit 输出。数据将以 XML 格式传递到附加的工具。例如,你可以将数据发送到 格式传递到附加的工具。例如,您可以将数据发送到 DiffXML 断言器XML 数据库 工具。

配置 Junit 输出

在使用 JUnit 输出类型之前,你的 输出类型之前,您的 Junit 必须访问应用程序上下文,并在“custom_tool_junit_output”键下的标准 Java 映射中存储所需的值。Appium 移动执行器工具将检查存储映射的应用程序上下文,并将其转换为 XML,并将其传递给该工具的“JUnit Output”输出。映射的键和值必须是字符串。如果希望 Junit 返回一个页面源字符串,请将整个源放到映射中的一个值中(如下面的 example 所示)。

...

  1. 右键单击 Appium 移动执行器工具,并从快捷菜单中选择 Add Output
  2. 选择 JUnit Output (左侧)以及要要接收该输出的工具(右侧)。
  3. 单击 Finish

例如

假设你希望获得一个 假设您希望获得一个 XML 格式的应用程序布局源,然后将其发送到一个 XML 数据库,这样你就可以从移动应用程序中提取一个值,以便在随后的测试中使用。数据库,这样您就可以从移动应用程序中提取一个值,以便在随后的测试中使用。

通过创建一个 Junit,该 Junit 1)构造一个包含应该发送到 XML 数据库的值的映射,2)将该映射放入应用程序上下文中来启动。映射中的值将被转换成 XML 文档,并传递给任何附加到 Junit 输出的工具:

...

添加一个 Appium 移动执行器工具,该工具配置为接下来运行此测试。给该工具一个 Junit 输出,它将该数据发送到 XML 数据库工具。

在这里,你可以指定要提取哪些值,然后在其他工具中使用它们。注意,映射的内容出现在 在这里,您可以指定要提取哪些值,然后在其他工具中使用它们。注意,映射的内容出现在 XML 文档中的 <root> 元素下面,该元素传递给附加到 Junit 输出的工具。

...