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 服务器窗口中报告。

...

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 格式传递到附加的工具。例如,你可以将数据发送到 格式传递到附加的工具。例如,您可以将数据发送到 DiffXML 断言器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 项目类路径中,以启用该导入。

...

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

例如

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

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

...

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

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

...