已知问题 - 终端仿真器

本主题描述了使用终端仿真器插件时的已知问题。

安装和加载终端仿真器插件

OpenText HostExplorer

安装 HostExplorer 终端仿真器或修补程序时,请确保关闭 UFT One

未安装终端仿真器

如果已安装并加载终端仿真器插件,但实际上未在本地安装终端仿真器,则会显示一条错误消息。

您可以执行以下操作之一:

  • 打开 UFT One 时,在插件管理器中清除终端仿真器复选框。

  • 调整仿真器的配置设置。

    有关详细信息,请参阅管理终端仿真器配置设置

Extra! 仿真器

安装 Extra! 仿真器后,UFT 可能会发生意外行为。

发生这些情况可能是由于 Extra! 安装在计算机上复制和注册了 atl.dll 文件的过期版本。

变通方法: 在系统文件夹 (WINNT\system32) 中找到 atl.dll。其版本应是 3.0 或更高版本。使用 regsvr32 实用程序注册。

返回页首

使用仿真器

多个打开的仿真器会话

如果打开了多个终端仿真器会话,UFT One 不会识别任何会话。

录制或运行测试或业务组件时,确保每次仅连接一个终端仿真器会话。

断开会话连接的步骤

如果测试或业务组件包含在测试运行期间断开当前仿真器会话连接的步骤,并且步骤后紧跟 TeScreen.Sync 命令,则测试或业务组件运行可能会停止响应,或需要很长时间才会响应。

变通方法: 从测试或业务组件删除 Sync 命令,或将其替换为 Wait 语句。有关更多详细信息,请参见《UFT One Object Model Reference for GUI Testing》实用程序对象部分。

仿真器会话繁忙

在仿真器会话繁忙时插入检查点、新建测试或业务组件或打开现有测试或业务组件可能会导致意外问题。

变通方法: 执行任何这些操作之前,请在仿真器屏幕的状态行上检查仿真器的连接状态。

录制时断开与 Host On-Demand 会话的连接

录制时,断开与 Host On-Demand 会话的连接后,可能发生意外行为。

变通方法: 在断开与会话的连接之前停止录制。然后手动添加与会话断开连接的步骤。

录制时已关闭仿真器会话

如果在 UFT One 正在录制时关闭终端仿真器,可能会遇到意外行为。

返回页首

配置和设置

有限支持 HLLAPI/不支持 HLLAPI 的仿真器

使用不支持 HLLAPI 或已配置为支持仅文本 HLLAPI 操作的仿真器时,在配置仿真器设置后,请不要更改终端仿真器窗口的大小。

Micro Focus Web-To-Host Java 客户端

要启用对配置为在单独窗口中打开的 Micro Focus Web-To-Host Java 客户端会话的支持,请指定会话窗口的标题。

使用“工具”>“选项”>“GUI 测试”选项卡 >“终端仿真器”>“调整配置”>“对象标识设置”>“基于标题栏前缀标识仿真器窗口”选项。

切换到其他配置时,可能需要清除此值。

Micro Focus Web-to-Host

使用“终端仿真器配置向导”来配置 Micro Focus Web-to-Host 的屏幕大小时,无法使用“标记文本区域”选项在仿真器窗口的顶部进行绘制。

变通方法: 手动配置屏幕的文本区域位置。

返回页首

对象标识

仿真器已断开连接

仅在连接仿真器时,UFT One 终端仿真器插件才能标识仿真器窗口对象。例如,不能使用以下语句连接到仿真器会话:

 TeWindow("TeWindow").WinMenu("Menu").Select“Communication;Connect”

变通方法: 可以录制需要在连接仿真器之前执行的任何步骤。如未加载终端仿真器插件一样录制这些步骤。连接仿真器之后,停止录制会话,然后开始新录制会话以录制终端仿真器对象。

HLLAPI 支持

使用支持 HLLAPI 的仿真器时,如果仿真器会话在录制过程中与主机的连接断开,UFT One 将不再识别仿真器,甚至在重新连接之后也是如此。

变通方法: 停止录制,重新连接会话,然后继续录制。

Micro Focus Rumba 或 Rumba+ Desktop

UFT One 可能无法在安装仿真器后立即识别 Micro Focus Rumba 或 Rumba+ Desktop 会话中的 TeField 对象。

变通方法: 安装 Rumba 或 Rumba+ Desktop 后,重新启动计算机 (即使安装未请求重新启动)。

返回页首

录制和识别对象

OpenText HostExplorer 仿真器

在 HostExplorer 仿真器上录制时,仿真器窗口中的菜单和工具栏操作被禁用。

变通方法: 停止录制,选择所需菜单项或单击所需工具栏按钮,然后继续录制。

HLLAPI 支持

使用支持 HLLAPI 的仿真器时,在录制过程中关闭仿真器窗口可能会导致意外结果。

变通方法: 在关闭仿真器窗口之前停止录制。

在仿真器应用程序中录制工具栏对象

UFT One 终端仿真器插件不支持在终端仿真器应用程序中的工具栏对象上录制操作。

变通方法: 在工具栏按钮的相应菜单命令上录制。或者,可以使用低级录制在工具栏上录制操作。

HostExplorer 仿真器

HostExplorer 在 HLLAPI GetKey 函数中存在错误。因此,UFT One 将在录制一段时间后停止录制终端仿真器键盘事件,并且仿真器可能会停止响应键盘事件。

变通方法:OpenText 客户支持联系,以获取修复 HLLAPI GetKey 函数问题 (在几次调用之后,它会停止响应) 的修补程序。

Micro Focus Web-To-Host 仿真器

在 Micro Focus Web-To-Host 仿真器上录制时,不会生成步骤代码。

变通方法: 手动添加步骤代码。

Reflection Desktop 16.1

不支持导航和识别。

变通方法: 使用对象侦测器逐一识别对象。

侦测仿真器应用程序中的密码字段

当使用对象侦测器或对象标识中心来侦测终端仿真器应用程序中的密码字段时,所侦测的值不会被隐藏。

IBM PCOMM 14
  • 在“工具”>“选项”>“终端仿真器中”选择 IBM PCOMM 作为仿真器之后,如果您使用的是 64 位 IBM PCOMM 仿真器,则必须先重新启动 UFT One,然后再打开该仿真器。
  • 要在 IBM PCOMM 14 上成功进行录制,必须始终先打开 UFT One 后再打开该仿真器。

返回页首

在仿真器上运行测试

切换仿真器
  • 如果使用某个终端仿真器录制测试或业务组件,则该测试或业务组件可能无法在其他终端仿真器上正确运行。例如,在 Rumba+ Desktop 上录制的测试可能无法在 IBM PCOMM 上运行。

  • UFT One 正在运行测试或业务组件时单击、输入或移动终端仿真器窗口中的对象可能会导致意外结果。

    变通方法: 等到测试或业务组件结束,或暂停测试或业务组件执行之后,再使用仿真器。

Reflection HLL API 当您以多线程模式运行 Reflection HLL API 时,可能会遇到意外结果。

返回页首

测试对象和测试对象方法

SendKey 方法

使用 SendKey 方法 (例如 TeWindow("TeWindow").TeScreen("screen5296").SendKey TE_RESET) 解锁终端仿真器时,某些仿真器 (例如 Host On-Demand) 可能无法解锁。

变通方法: 为 RESET 命令指定要发送的键盘事件。

使用“工具”>“选项”>“GUI 测试”选项卡 >“终端仿真器”窗格 >“调整配置”>“运行设置”>“使用键盘事件运行包含特殊仿真器的步骤”>“RESET 功能的键”选项。

TeField 对象

默认情况下,UFT One 将使用 TeField 测试对象描述中的 attached textprotected 属性。

如果字段的附加文本随会话发生更改,则 UFT One 在测试运行期间无法找到该字段。

变通方法:

  1. 打开“对象存储库”窗口或对象的“对象属性”对话框。
  2. 从字段的描述中删除 attached text 属性。
  3. 添加另一个属性 (或多个属性),例如 start rowstart columnindex 以唯一标识对象。

您还可以为 TeField 对象创建智能标识定义。

这样,即使特定 TeField 对象的 attached text 属性值发生更改,您录制的测试或业务组件也能成功运行。

(选择工具>对象标识>启用智能标识,然后单击配置。)

有关详细信息,请参阅智能标识

TeScreen 的 label 属性

无法使用 TeScreen 对象的编程描述中的 label 属性。

变通方法: 因为在任何时刻给定的 TeWindow 中仅可存在一个屏幕,您可以使用 TeScreen("MicClass:=TeScreen")

例如:

TeWindow("short name:=A").TeScreen("MicClass:=TeScreen").TeField("attached text:=User", "Protected:=False").Set "33333"

TeTextScreen 的 current column/current row 属性

TeTextScreen 属性 current columncurrent row 仅对支持 HLLAPI 的仿真器可用。

TeField 的 locaton 属性

不会为 TeField 对象录制 location 属性。

变通方法: 使用 index 属性。

GetText/GetVisibleText 方法
  • 当您使用 GetText 方法从 PuTTY 会话屏幕检索文本时,输出文本可能会出现乱码。

  • 当您使用 Window.GetVisibleText 方法从 PuTTY 会话窗口检索文本时,输出文本的每行末尾可能会出现一个额外的字母。

    可能的原因: 在单文本块模式下,ABBYY OCR 引擎可能会错误地将会话窗口右侧的滚动条解释为字符。

    变通方法: 通过在方法的参数中提供文本检索的坐标,将文本检索限制在窗口内部。

返回页首

检查点和输出值

TeScreens 上的位图检查点

在某些情况下,由于光标在预期位图而不在实际位图中显示(或情况相反),TeScreen 上的位图检查点可能会失败。

变通方法: 将仿真器光标设置为缓慢闪烁或不闪烁。这会增加光标在位图中不被捕获的可能性。

多语言仿真器

使用 IBM PCOMM 仿真器时,录制或运行测试或业务组件的过程中,UFT One 可能会忽略特殊欧洲语言字符。

变通方法:UFT One 中为 IBM PCOMM 仿真器设置代码页面。

使用“工具”>“选项”>“GUI 测试”选项卡 >“终端仿真器”>“调整配置”>“仿真器设置”>“代码页号 (仅限 IBM PCOMM)”选项。

尝试将代码页号 (仅限 IBM PCOMM) 选项设置为 1252

返回页首