已知问题 - 终端仿真器
本主题描述了使用终端仿真器插件时的已知问题。
安装和加载终端仿真器插件
Hummingbird HostExplorer |
安装 Hummingbird HostExplorer 终端仿真器或修补程序时,请确保关闭 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》 的实用程序对象 (Utility Objects) 部分。 |
仿真器会话繁忙 |
在仿真器会话繁忙时插入检查点、新建测试或业务组件或打开现有测试或业务组件可能会导致意外问题。 变通方法: 执行任何这些操作之前,请在仿真器屏幕的状态行上检查仿真器的连接状态。 |
录制时断开与 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 RUMBA Web-to-Host |
使用“终端仿真器配置向导”来配置 Micro Focus RUMBA Web-to-Host 的屏幕大小时,无法使用“标记文本区域”选项在仿真器窗口的顶部进行绘制。 变通方法: 手动配置屏幕的文本区域位置。 |
IBM Host On-Demand 或 IBM i Access-Client 解决方案 (UFT One 2021 及更早版本:) |
在 IBM Host On-Demand 或 IBM i Access-Client 解决方案中突出显示 TE 测试对象时,某些对象的突出显示位置可能会发生变化。 变通方法: 在“终端仿真器配置向导”中配置文本区域和文本屏幕设置。有关详细信息,请参阅配置仿真器屏幕设置页面。 |
对象标识
仿真器已断开连接 |
仅在连接仿真器时,UFT One 终端仿真器插件才能标识仿真器窗口对象。例如,不能使用以下语句连接到仿真器会话:
TeWindow("TeWindow").WinMenu("Menu").Select“Communication;Connect”
变通方法: 可以录制需要在连接仿真器之前执行的任何步骤。如未加载终端仿真器插件一样录制这些步骤。连接仿真器之后,停止录制会话,然后开始新录制会话以录制终端仿真器对象。 |
HLLAPI 支持 |
使用支持 HLLAPI 的仿真器时,如果仿真器会话在录制过程中与主机的连接断开,UFT One 将不再识别仿真器,甚至在重新连接之后也是如此。 变通方法: 停止录制,重新连接会话,然后继续录制。 |
Micro Focus 终端查看器 3.1 5250 |
使用 Micro Focus 终端查看器 3.1 5250 会话时,屏幕上显示的第一个受保护字段前的所有字段都将被识别为单个字段。 |
Micro Focus RUMBA |
UFT One 可能无法在安装仿真器后立即识别 Micro Focus RUMBA 会话中的 TeField 对象。 变通方法: 安装 RUMBA 后,重新启动计算机(即使安装未请求重新启动)。 |
IBM Host On-Demand 或 IBM i Access-Client 解决方案 (UFT One 2021 及更早版本:) |
UFT One 不会将终端仿真器屏幕中使用的 Java 对象 (例如菜单项) 识别为 Java 测试对象。 |
录制和识别对象
在仿真器上运行测试
切换仿真器 |
|
Hummingbird 9.0 5250 |
要在 Hummingbird 9.0 5250 会话上录制和运行测试或业务组件,需要安装 Hummingbird 的修补程序。 变通方法: 与 Hummingbird 客户支持联系,以获取修复 HLLAPI 问题(所有 5250 个字段均显示为受保护)的修补程序。 |
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 text 和 protected 属性。 如果字段的附加文本随会话发生更改,则 UFT One 在运行会话期间无法找到该字段。 变通方法:
您还可以为 TeField 对象创建智能标识定义。 这样,即使特定 TeField 对象的 attached text 属性值发生更改,您录制的测试或业务组件也能成功运行。 (选择工具>对象标识>启用智能标识,然后单击配置。) 有关详细信息,请参阅智能标识。 |
TeScreen 的 label 属性 |
无法使用 TeScreen 对象的编程描述中的 label 属性。 变通方法: 因为在任何时刻给定的 TeWindow 中仅可存在一个屏幕,您可以使用 TeScreen("MicClass:=TeScreen")。 例如:
|
TeTextScreen 的 current column/current row 属性 |
TeTextScreen 属性 current column 和 current row 仅对支持 HLLAPI 的仿真器可用。 |
TeField 的 locaton 属性 |
不会为 TeField 对象录制 location 属性。 变通方法: 使用 index 属性。 |
检查点和输出值
TeScreens 上的位图检查点 |
在某些情况下,由于光标在预期位图而不在实际位图中显示(或情况相反),TeScreen 上的位图检查点可能会失败。 变通方法: 将仿真器光标设置为缓慢闪烁或不闪烁。这会增加光标在位图中不被捕获的可能性。 |
多语言仿真器 |
使用 IBM PCOMM 仿真器时,录制或运行测试或业务组件的过程中,UFT One 可能会忽略特殊欧洲语言字符。 变通方法: 在 UFT One 中为 IBM PCOMM 仿真器设置代码页面。 使用“工具”>“选项”>“GUI 测试”选项卡 >“终端仿真器”>“调整配置”>“仿真器设置”>“代码页号 (仅限 IBM PCOMM)”选项。 尝试将代码页号 (仅限 IBM PCOMM) 选项设置为 1252。 |