已知问题 - 测试运行

相关项: GUI 和 API 测试

本地 UFT One 测试运行

同一台计算机上的多个 UFT One 实例 UFT One 不支持同时从同一计算机上的多个 UFT One 实例运行测试,无论是在同一 Windows 会话中还是在不同 Windows 会话中。
本地计算机

在本地计算机上运行 UFT One 测试或组件时,如果正在测试应用程序的计算机被锁定,则测试运行可能会失败。

变通方法: 在 (不使用屏幕保护程序或锁定密码的) 虚拟机上安装 UFT One,然后在虚拟机上启动或计划测试运行。然后,可以锁定本地计算机而不锁定虚拟机。

Test Batch Runner/UAC

建议不要在 UAC (用户帐户控制) 功能设置为打开的情况下使用 Test Batch Runner。

返回页首

远程 UFT One 测试运行

Citrix XenApp 支持

如果要测试由 Citrix XenApp 启动的应用程序,UFT One 还必须由 Citrix XenApp 启动。

注销 RDC/Citrix

如果要在使用远程桌面连接 (RDC) 或 Citrix 的远程计算机上运行 UFT One,建议不要注销远程会话。

如果在 UFT One 正在运行时注销远程会话,可能会导致出现以下问题:

  • 测试或组件运行会话可能失败。

  • 包含键盘或焦点操作的步骤可能失败。

  • 静态图像捕获和/或屏幕录制器 (在运行结果中) 可能显示黑屏。

  • 设备级别回放配置为使用鼠标 (而不是浏览器事件) 运行鼠标操作的步骤可能失败。

为远程会话配置登录用户凭据以外的凭据

如果用户启动一个远程 UFT One 测试运行,之后该会话锁定或断开连接,则该运行将继续使用在 UFT One 选项 (“工具”>“选项”>“常规”选项卡 >“测试运行”) 中定义的凭据。

如果与这些凭据相关联的权限少于会话启动用户的权限,则测试运行可能会遇到权限问题。

切记,您仍然可以将 UFT One 计算机的登录凭据以外的凭据配置为用于这些远程会话。定义此类凭据时的 UFT One 行为取决于您使用的 UFT One 版本:

15.0: “检查连接”失败。您仍然可以保存此配置,并使用您定义的凭据。

15.0.1: “检查连接”会显示一条消息,提示您应输入用于登录 UFT One 计算机的凭据。您仍然可以保存此配置,并使用您定义的凭据。

15.0.2 或更高版本: 只要用户名和密码正确,“检查连接”就会成功。

多用途远程凭据

如果要在支持多个用户使用相同用户名和密码登录的远程计算机上运行 UFT One 和应用程序,建议不要断开与远程计算机的连接。

在类似情况下,断开连接并重新连接将打开一个新的用户会话,您的 UFT One 测试运行可能会丢失。

请让您的连接保持打开状态以保留您的 UFT One 会话和运行结果。

Windows 操作系统问题

如果在远程运行 UFT One 时遇到问题,请在组策略编辑器 (GPE) 中修改 Microsoft 管理控制台 (MMC) 管理单元中的设置,如下所示:

  1. UFT One 计算机上,请转到: “计算机配置”>“管理模板”> “Windows 组件”>“Windows 登录选项”>“禁用或启用软件安全注意序列”

  2. 启用“软件安全注意序列”。

  3. 选择“服务和轻松使用应用程序”选项。

  4. 重新启动计算机。

警告: 启用此配置可能会带来安全风险,因为它允许应用程序和服务器远程登录 UFT One 计算机。确保 UFT One 计算机不包含敏感信息或不提供对敏感信息的访问。

ALM 测试实验室

如果从 ALM 测试实验室中运行 GUI 测试,则必须在 Windows 远程设置 (“控制面板”>“系统”>“远程设置”) 中选择“允许运行任意版本远程桌面的计算机连接”选项

身份验证错误

如果由于身份验证错误而导致测试运行失败:

  • 重新启动本地服务中的 UFT One 助手服务

  • 禁用 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System] 下面的注册表项

    "legalnoticecaption"="<anytext>"

    "legalnoticetext"=”<anytext>"

返回页首

运行 API 测试

调用 GUI 测试

如果正在运行存储在 ALM 中的 API 测试并调用 GUI 测试,则必须确保在打开解决方案的情况下打开 UFT One,或者必须关闭 UFT One 并允许 ALM 打开它。

如果在没有解决方案的情况下打开 UFT,测试将不运行。

调用 API 测试

如果 API 测试由 GUI 测试调用,则不支持将从 API 测试输出参数收到的值用作 GUI 测试的函数中所定义变量的值。

外部 .dll 文件

手动添加对外部 .dll 的参考时,UFT One 提示您在本地保存它。要更改有关特定参考文件的首选项,请删除参考并重新手动添加。

共享文件夹

在远程计算机上使用共享文件夹运行测试可能需要调整 .NET 2.0 安全设置。

建议: 打开控制面板,通过浏览或搜索找到管理工具。在管理工具列表中,查找以下条目: Microsoft .NET Framework 2.0 配置。如果找不到,则必须安装 .NET Framework 2.0 SDK。

验证结构检查点

如果预期值为 SOAP 错误而 Web Service 调用返回 UnsupportedMediaType 状态,则验证结构检查点将失败。

负载测试模式

以负载测试模式运行 API 测试时,不支持 API 测试步骤中的检查点验证。

更新了 log4net.dll

UFT One 15.0.2 及更高版本:

如果您的 API 测试是在早期版本的 UFT One 中创建和内置的,要继续使用您的测试,必须通过在 UFT One 新版本中打开这些测试进行升级。

返回页首

运行包含图像识别测试对象的步骤

要求: 活动会话和应用程序

计算机会话必须处于活动状态且应用程序必须可见 (而不是最小化) ,步骤才能成功运行。这是因为洞察使用屏幕中的数据与随测试一起存储的图像进行比较。

远程连接

如果正在测试远程计算机上运行的应用程序,而使用最小化远程桌面连接窗口,则这些步骤将失败。

变通方法: 使用其他程序 (例如,虚拟网络计算) 代替远程桌面连接在远程计算机上运行步骤。

显示大小/缩放级别

要成功进行洞察对象标识,当测试按照识别或录制这些对象时所采用的方式运行时,操作系统上定义的显示大小和浏览器缩放级别 (如果在浏览器上工作) 必须相同。

排除的区域

在洞察中使用排除的区域时,已包括的区域必须包含足以启用对象识别的有效内容。

如果其余内容不够详细,UFT One 可能会在屏幕上找到过少或过多的匹配控件。

变通方法: 执行以下某项或两项操作:

父浏览器对象

在父浏览器测试对象中搜索洞察对象时,UFT One 会在选定浏览器选项卡而非整个浏览器窗口中进行搜索。

双显示器

仅在主监控器上支持洞察。因此,如果使用双监控器,请确保在对洞察测试对象使用 UFT 时,您的应用程序在主监控器上可见。

返回页首

运行使用 OCR 的步骤

以下限制会影响基于 OCR 的步骤,例如文本或文本区域检查点、文本测试对象以及从应用程序中检索文本的方法。

OCR 配置和优化

确保 UFT One 配置为实现最佳文本识别。请参见:

要求: 活动会话和应用程序

计算机会话必须处于活动状态且应用程序必须可见 (而不是最小化),步骤才能成功运行。这是因为 OCR 使用屏幕中的数据与随测试一起存储的文本进行比较。

远程连接

如果在测试远程计算机上运行的应用程序时使用最小化远程桌面连接窗口,则包含文本测试对象的步骤将失败。

变通方法: 使用其他程序 (例如,虚拟网络计算) 代替远程桌面连接在远程计算机上运行步骤。

性能
  • 运行使用 OCR 的步骤会比运行使用基于属性的对象识别的步骤花费更长的时间。
  • 在运行包含文本测试对象的测试时,建议关闭 Windows 动画以提高性能。
文本识别不准确
  • 一些图标和元素将被识别为特殊字符,并且对它们的识别可能因运行不同而异。
  • 当执行诸如突出显示识别的文本之类的操作时,在以下情况下操作位置可能不正确: 

    • 文本前面或内部有很大的空白。
    • 在使用的字体中,字符宽度之间存在很大差异。

返回页首

运行使用 AI 标识的步骤

运行包含基于 AI 的步骤的测试时,存在下面的已知问题:

AIUtil("search").Search method 运行 AIUtil("search").Search 方法时,如果应用程序中的搜索控件打开了一个输入框,但该输入框尚未立即准备好接收文本输入,则搜索字符串中的某些字符可能会丢失。
AI 转换助手 在移动应用程序上运行时,AI 转换助手不会滚动查找对象。因此,使用 AI 转换助手运行测试时,不会为当前移动应用程序屏幕上不可见的对象提供 AI 对象建议。
基于 AI 的测试脚本 如果浏览器底部有状态栏,则基于 AI 的测试脚本无法在 Firefox 浏览器上运行。

返回页首

并行运行测试

使用 ParallelRunner 工具并行运行测试时,存在下面的已知问题。

不支持的功能

Edge

ParallelRunner 工具一次只能在一个 Edge 浏览器上运行。因此,如果您同时运行多个测试,则只能在 Edge 上运行其中一个测试。

Web 2.0 工具包

使用 ParallelRunner 时,所有 Web 2.0 工具包 (ASP.NET AJAX、Dojo、Ext-JS、GWT、jQueryUI、SiebelOpenUI 和 YahooUI) 均不受支持。

自动化对象模型

使用 ParallelRunner 运行的测试不支持 UFT One 的自动化对象模型。

基于 AI 的 Web 测试

使用 ParallelRunner 运行的测试不支持对 Web 应用程序进行基于 AI 的测试。

特定的测试对象和方法

.object 方法

使用 UFT One 的 ParallelRunner 运行 Web 脚本而且 Internet Explorer 在版本低于 8 的 documentMode 中运行时,则 .object 方法不受支持。

WebFile 对象

不支持并行执行 WebFile 对象。

SystemUtil.Run 方法

并行运行测试时,由 SystemUtil.Run 方法启动的浏览器可能会产生意外结果。

建议改用 WebUtil.LaunchBrowser 方法。

运行结果

Internet Explorer

要在 Internet Explorer 中查看 ParallelRunner 运行结果,请使用 Internet Explorer 10 及更高版本。

Safari

在 Mac 计算机上的 Safari 中打开带有设备监控图形的运行结果时,不显示表明时间戳的红线。要查看这些红线,请使用其他浏览器查看运行结果。

设备系统监控

设备系统监控未显示在 HTML 运行结果图形中。相反,要查看并行运行的设备测试的系统监控数据,请检查从运行结果链接的日志文件。

设备测试

设备预留和释放

  • ParallelRunner 无法基于使用 Device 测试对象的数据驱动型测试或基于 Util 方法 (如 MobileUtil.SetActiveMobileDeviceByID) 预留设备。
  • 在并行测试过程中,按 CTRL+C 不会释放设备。

图像识别/OCR/突出显示

当测试使用图像识别对象或者使用 OCR 或突出显示机制时,移动设备上的并行测试可能会失败。

变通方法: 对于图像识别对象或 OCR 机制,请对并行显示设备的远程访问窗口进行排列,使这些窗口不会重叠。

疑难解答

在某些情况下,每当使用 ParallelRunner 运行 Web 测试时,它们都会停止响应。

变通方法: 

更改 ParallelRunner 用作本地 IP 地址的地址。

  1. 获取计算机的本地 IPV4 地址 (在命令窗口中键入 ipconfig)。
  2. 在“<UFT One 安装文件夹>\bin”文件夹中,打开 parallel.ini (或 parallel.custom.ini,但前提是它存在)。
  3. IP=127.0.0.1 定义更改为本地 IPV4 地址并保存文件。

基于 AI 的测试

 

下面的已知问题在 UFT One 15.0.1 或更早版本上相关:

  • 移动应用程序上基于 AI 的测试

    对于使用 ParallelRunner 进行的基于 AI 的移动测试,请将计算机的代理服务器设置配置为“不将代理服务器用于本地地址”。或者,将本地主机地址 127.0.0.1 添加到代理服务器例外列表中。

  • 使用基于 AI 的文本对象的可选步骤

    不支持在并行测试运行中运行 OptionalStep.AIUtil.FindText 步骤。如果某个测试运行此步骤,则后续的测试步骤都不会运行。

    变通方法: 在可选步骤中,使用 AIObjects 而不是 AITextObjects。

    例如,使用 OptionalStep.AIUtil("button", "On").Click 而非 OptionalStep.AIUtil.FindText("On").Click

返回页首

在维护模式下运行测试

使用编程描述

以维护模式运行时,如果步骤包含应用程序中找不到的对象的编程描述,那么维护模式可能需要一些时间才能指示存在问题。如果使用指向该对象的选项,那么维护模式以后可能需要一些时间才能重新打开。

不具备必要属性或辅助属性的对象

当“维护运行向导”找不到对象,并且该对象的测试对象描述没有任何强制或辅助属性 (它仅由其序号标识符识别,比如浏览器测试对象) ,那么当您指向对象时,该向导无法修复该问题,并显示一条消息,说明您指向的对象与 UFT One 无法识别的对象具有相似的测试对象描述。

变通方法: 使用“对象存储库”窗口 (对于本地存储库中的对象) 或对象存储库管理器 (对于共享对象存储库中的对象) 中的从应用程序更新选项修复测试对象描述。

通过指向其他对象类来更新步骤

当“维护运行向导”在应用程序中找不到对象,并且您指向其他对象类来替换它,那么“维护运行向导”提供添加具有该对象和对象默认方法的步骤。但是,该向导不为该步骤插入任何方法参数。如果步骤方法具有必需参数,并且您接受“维护运行向导”建议的步骤而不修改它,那么当您运行它时,步骤将失败。

变通方法: 为步骤输入有效的方法参数。

更新 XPath 或 CSS 属性

当以维护模式运行时,UFT One 可能会将具有 XPath 或 CSS 标识符属性值的测试对象替换为应用程序中的新对象。

变通方法: 使用对象存储库管理器的从应用程序更新选项更新具有 XPath 或 CSS 标识符属性值的特定测试对象。

函数库中使用的对象 如果步骤调用的函数库中正在使用对象,那么维护模式无法修复该对象属性的问题。如果维护模式检测到函数库中的对象存在问题,将显示一条消息,说明该测试为只读且维护模式被禁用。

返回页首

在“更新运行”模式下运行测试

图像识别

“更新运行”模式不会更新图像识别或文本测试对象。

要更新某个图像识别或文本测试对象,请在对象存储库中打开此对象,并在“测试对象图像”区域中单击“更改测试对象图像”按钮

对于文本测试对象,可以手动更新 text 属性,该属性用于标识应用程序中的文本。请注意,这不会更新与测试对象一起保存的图像。

检查点和输出值

“更新运行”不支持更新复杂的检查点和输出值类型,如文件和 XML。

更新运行期间,这些检查点和输出值像在常规测试运行中一样运行,并在预期值和实际值之间存在差异时失败。

返回页首

恢复场景

相关项: GUI UFT One 15.0.2 中的测试和组件

要运行恢复场景以针对应用程序崩溃进行响应,必须满足以下条件:

  • 崩溃的应用程序必须有一个窗口,而且必须是 32 位应用程序。
  • 在应用程序崩溃后,使用测试中的 Recovery.Activate 步骤明确检查并执行恢复场景。有关详细信息,请参阅《UFT One Object Model Reference for GUI Testing》Utility Objects 部分中的 Recovery Object

  • 恢复操作是键盘或鼠标操作或关闭应用程序进程

返回页首