编辑移动测试

本主题介绍了可在编辑器或关键字视图中执行的用于修改移动测试的可选编辑步骤。

添加模拟事件和手势

可以手动向测试中添加步骤来模拟实际移动设备上发生的事件和手势,例如来电或滑动手势。

例如:

模拟传入的 SMS

Device("Device").IncomingSMS "1800859645","Hello There",5,False       

模拟来电

Device("Device").IncomingCall "180080808080",5,False     

模拟 GPS 位置变化

Device("Device").GPSRelocate 37.500000,-120.300000,5,False        

返回页首

添加步骤以打开远程访问窗口

测试期间,请关闭远程访问窗口以保持性能,并只在需要时使用 Device.OpenViewerDevice.CloseViewer 步骤来打开和关闭该窗口。

要在运行期间控制远程访问窗口,请执行以下操作:

  1. UFT One“选项”对话框中,清除“在测试运行期间显示应用程序”选项。

    有关详细信息,请参阅连接到 Digital Lab 或本地移动设备

  2. 在测试中,定义 UFT One 必须“看到”该对象才能运行的步骤。

    在这些步骤中的每个步骤之前,添加一个 Device.OpenViewer 步骤以打开远程访问窗口。

    在这些步骤中的每个步骤之后,添加一个 Device.CloseViewer 步骤以继续静默测试运行。

  3. 确保通过以下方式之一定义要打开的应用程序:

    • “录制和运行设置”对话框;或者

    • 前一个步骤。例如:

      Device("MyDevice").App("MyApp").Launch
      Device("MyDevice").OpenViewer

有关详细信息,请参阅《UFT One Object Model Reference for GUI Testing》移动部分

返回页首

添加步骤以打开其他设备

通过创建唯一的 Device 测试对象,然后相应地修改测试步骤,在测试中使用不同设备运行每个步骤。

要在不同设备上运行步骤,请执行以下操作:

创建唯一的 Device 测试对象

对要包括在测试中的每个设备重复以下步骤。

  1. 定义“录制和运行设置”并录制测试。

  2. 在“对象存储库”窗口 (“资源”>“对象存储库”) 中,使用描述性名称重命名 Device 测试对象,例如 Device_1Device_2

    您的测试将使用新的 Device 测试对象名称自动更新。

  3. 在对象存储库中,定义 Device 测试对象的 id 描述属性和值。

    在“测试对象详细信息”窗格中,选择 Device 对象,然后单击 打开“添加属性”对话框。

    id 属性值定义为 Digital Lab 设备 ID。

    提示: 通过将 id 描述属性值链接到环境变量或数据表参数来提高灵活性。

编辑每个设备的测试步骤

在测试中,请确保将每个步骤配置为使用正确的设备和应用程序。例如:

Device("Device_1").App("MyApp").Launch DefaultInstallBehavior, DefaultRestartBehavior
Device("Device_1").App("MyApp").MobileList("tableManFirst").Select 5,0
Device("Device_1").App("MyApp").MobileDropDown("RegularPicker").Select "Arman",0
...
...
Device("Device_2").App("AnotherApp").Launch DefaultInstallBehavior, DefaultRestartBehavior
...

返回页首

添加用于打开其他应用程序的步骤

如果您的测试需要在单个测试运行中打开多个应用程序,请添加步骤以分别打开每个应用程序并将其置于前台。

使用以下方法之一打开多个应用程序:

录制图像识别步骤以打开您的应用程序

有关详细信息,请参阅录制移动设备上的 Web 应用程序的图像识别步骤

 

录制时切换应用程序

有关详细信息,请参阅切换应用程序

使用 uiAutomatorViewer

(仅限 Android)

使用 uiAutomatorViewer 执行以下操作:

  1. 标识设备的应用启动器,然后将 App 测试对象添加到对象存储库。有关详细信息,请参阅向对象存储库添加 App 测试对象

  2. 为您要打开的应用程序的图标创建一个 MobileView 测试对象。有关详细信息,请参阅将不可录制的对象添加到对象存储库

在您的测试中,在每个相关步骤之前添加用于打开新应用程序的步骤。

例如:

Device("Device").Home
Device("Device").App("Launcher").MobileView("App2").Tap

返回页首

BPT: 添加用于打开浏览器的步骤

除了在测试应用程序区域中指定设备和浏览器外,建议您添加一个步骤,以在业务流程测试中任何相关组件上的设备中打开浏览器。

添加一个 WebUtil.LaunchBrowser 步骤以打开浏览器,并根据需要指定相关参数。

例如,以下步骤可在位于 AWS 设备场中的移动设备上打开 Chrome 浏览器:

WebUtil.LaunchBrowser "MOBILE_CHROME", "lT-1", "cube", "ANDROID", "5.1", "AWS"

有关详细信息,请参阅《UFT One Object Model Reference for GUI Testing》中的 LaunchBrowser 方法主题。

返回页首

避免使用连续的 Browser.Navigate 步骤

避免添加 Browser.Navigate 作为测试的第一步,尤其是已将“录制和运行设置”设置为在开始测试时打开特定的浏览器页面时。

例如,如果“录制和运行设置”中的 URL 设置为 www.bing.com,则不要将以下内容作为脚本的第一行:

Browser.navigate "www.google.com"

而是将 URL 修改为 www.google.com,并删除脚本中的第一步。

此外,如果有两个连续的 Browser.Navigate 步骤,例如:

Browser.navigate "www.google.com"
Browser.navigate "www.baidu.com"

在两个步骤之间添加一个 Wait 语句,或者干脆删除第一个 Navigate 步骤。

返回页首

运行时属性值和移动测试

UFT One 没有可以绑定到移动测试对象的运行时对象。因此,任何从绑定的运行时对象中获取值的 UFT 操作都将没有值。

例如:

描述属性

将描述属性添加到对象存储库时,初始值可以为空或具有默认值 (例如,布尔型属性值,如 True/False)。

标准检查点

添加标准检查点时,初始属性值为空白。

运行时属性的值获取自 Digital Lab 应用程序详细信息。

返回页首

模拟身份验证

手动向测试中添加步骤,以在 iOS 设备上模拟指纹身份验证或面部识别。

仅测试回放支持身份验证模拟。

录制测试时,请执行以下某项操作以进行身份验证:

  • 如果您有权访问物理设备,请手动执行指纹或面部识别身份验证。此身份验证将不会被录制。
  • 如果无法访问该设备,请执行其他身份验证。

然后,在播放测试之前,在测试中进行指纹身份验证时手动添加 SimulateAuthentication 步骤。

使用以下语法:

Device("< 设备 ID>").App("<应用程序名称>").SimulateAuthentication ("<结果>","<原因")

有关详细信息,请参阅《UFT One 对象模型参考》中的 SimulateAuthenticationDigital Lab帮助

示例身份验证模拟

以下步骤显示了由于锁定而导致身份验证失败。

Device("Device").App("UICatalog8INJ").MobileButton("UICatalog").Tap

Device("Device").App("UICatalog8INJ").MobileList("MobileList").Scroll 5,0

Device("Device").App("UICatalog8INJ").MobileList("MobileList").Select 21,0

Device("Device").App("UICatalog8INJ").MobileButton("Try to authenticate").Tap

Device("Device").App("UICatalog8INJ").SimulateAuthentication "Failure", "Lockout"

备注: 在回放中运行模拟时,Digital Lab 的“模拟身份验证”对话框将不会打开。

返回页首

使用标准 UFT One 功能编辑移动测试

使用标准 UFT One 功能来编辑您的移动测试,例如条件语句和循环语句、描述性编程和对象侦测器。

有关更多详细信息,请参阅:

描述性编程

例如,手动编辑对象名称以使用描述性编程,而不是对象名称。

备注: 建议将 class 属性添加到任何描述性编程语句中,以使 Digital Lab 能够标识对象。

有关更多详细信息,请参阅编程测试

同步测试并验证您的应用程序响应

手动添加以下任何一种步骤,以帮助您的测试顺利运行并验证应用程序是否正确响应。

Launch 方法

使用 App 测试对象的 Launch 方法打开应用程序,而不对其执行任何步骤。

例如,如果打开应用程序花费的时间很长,可能会因为找不到该对象而导致第一步失败,则可能要使用 Launch 方法。

要使用 Launch 方法,请插入 Launch 步骤作为设备上的第一步。

Wait 语句

在步骤之间插入 VBScript Wait 语句,以确保在完成上一步之后再运行下一步。

WaitProperty 步骤

使用 WaitProperty 步骤以指示 UFT One 等待,直到指定的运行时属性设置为特定值 (或直到可选的超时时间到期)。

有关详细信息,请参阅《UFT One Object Model Reference for GUI Testing》移动部分

Exist 方法

使用 Exist 方法等待,直到在当前视图中找到指定的测试对象 (或直到可选的超时时间到期),并验证该应用程序是否显示了预期的控件。

例如:

  • Device 测试对象: 检查设备是否已连接到当前的 Digital Lab 服务器。

    位置运行时属性的值 (左、顶部、右和底部) 获取自相应的远程访问窗口。其他运行时属性的值获取自 Digital Lab 设备详细信息。

  • App测试对象: 检查应用程序是否已加载到当前 Digital Lab 服务器。

    运行时属性的值获取自 Digital Lab 应用程序详细信息。

GetROProperty

检索诸如 text 等属性的值,然后检查此属性的值。

Reporter.ReportEvent

将数据发送到运行结果。

返回页首

另请参见: