已知问题 - 基于 Windows 的 SAP

对象识别

工具栏控件

其他控件内的工具栏

不支持其他控件内的工具栏 (如文本区域控件中的工具栏) 。

网格控件内的工具栏

SapGuiToolbar 测试对象 (GuiComponentType 为 204) 支持网格控件内的工具栏。

但是,对象侦测器不能识别这些工具栏,因为它们是网格的一部分。

无法从活动屏幕使用添加到存储库中选项或“对象存储库”窗口中的添加对象选项将这些工具栏添加到对象存储库。

要将这些工具栏添加到对象存储库,请在这些工具栏上录制。

单独的工具栏控件

单独的工具栏控件 (不属于网格或其他对象的控件) 受 SapGuiToolbar 测试对象 (GuiComponentType 为 202) 支持,并且由于这些对象是单独对象,对象侦测器可识别它们。

注意,树控件没有关联的工具栏。树控件顶端显示的工具栏均被识别为单独工具栏,并因此受支持,如上所述。

SAP 编辑器

不支持 SAP 编辑器控件。

Microsoft Office 控件

不支持 SAP 窗口中的 Microsoft Office 控件。

返回页首

测试对象和测试对象方法

调用现有操作/操作副本

如果插入对外部操作或操作副本的调用,并且该操作包含 SAPGuiTable.InputSAPGuiGrid.InputSAPGuiAPOGrid.Input 语句,则对应的输入数据表不会复制到该操作的“数据”窗格中。

变通方法:

插入并运行 Datatable.AddSheetDatatable.ImportSheet 语句,以导入由操作的 Input 方法引用的表。

请确保数据表的名称与在对应 Input 语句中指定的名称完全匹配。

SAPGuiTextArea 对象

SAPGuiTextArea 对象不支持右键单击操作。

拖放操作

UFT One 打开时,SAP GUI for Windows 应用程序中的拖放操作将被禁用。

SAPGUIComboBox.Select

以下步骤语法会导致脚本中出错:

SAPGUIComboBox.Select “ ”

变通方法: 请改用 SAPGUIComboBox.SelectKey " "

SAPGuiTable 对象 如果无法将 SAPGuiTable 对象拉取到末尾,则使用 FindAllRowsByCellContent 的步骤将失败。
SAPGuiGrid 对象

要获取 SAPGuiGrid 对象的列标题,请在测试中添加以下测试步骤:

Set mygrid = SAPGuiSession("<会话名称>").SAPGuiWindow("<窗口名称>").SAPGuiGrid("<表名称>")
Set col_col = mygrid.getroproperty("ColumnOrder")
For i=0 To col_col.count -1
print mygrid.object.GetColumnTitles(col_col(i))(0)
next

返回页首

录制

标准 Windows 对话框

UFT One 不会自动录制由 SAP GUI for Windows 应用程序使用的标准 Windows 对话框 (如“打开文件”和“另存为”对话框) 。

这是因为 SAP Scripting API 不支持这些对话框。此情况也适用于“SAP GUI 安全性”对话框,并且在将 SAP GUI for Windows 与 GuiXT 结合使用时也可能发生。

变通方法:

  • 更改为标准 Windows 录制模式 (从录制工具栏的录制模式下拉菜单中选择“标准窗口录制”) 来录制这些对象。

    请确保先切换到“标准 Windows 录制”模式,然后再执行在 SAP 应用程序中打开标准 Windows 控件的操作。

  • 使用低级录制来录制这些对象。

  • 使用编程描述在这些对象上运行步骤。

F4

如果录制按 F4 键的步骤,而该按键操作会导致为多个字段设置新值,则仅为按了 F4 键的字段录制步骤。

因此,在运行期间将仅填充该字段。

SAPGUITree 对象

使用 SAP GUI 750 Patch 14 或 15 和 SAP GUI 760 Patch 4 或 5 时,UFT One 无法在 SAPGUITree 对象上录制步骤。

解决方案: 升级到 SAP GUI 760 Patch 6 或更高版本。

变通方法: 使用对象侦测器将 SAPGUITree 对象添加到对象存储库中,然后手动将步骤添加到测试中。

SAP 甘特图 (SAP 条形图)/图像/图片控件

SAP GUI for Windows 替代录制机制支持 SAP 甘特图 (SAP 条形图) 和图像/图片控件。

目前对这些控件的支持有限。

您可以替代 SAP Windows 测试对象的默认录制行为,或添加针对其他 SAP GUI for Windows 对象的有限录制支持。

录制密码

出于安全考虑,SAP Scripting API 会阻止录制密码。

录制在密码框中插入密码的操作时,UFT One 会使用星号 (****) 作为方法参数值录制 Set 语句。

变通方法:

  • 配置SAP 选项卡 (录制和运行设置对话框) 中的自动登录设置,并启用该设置。

  • 使用 SAPGuiUtil 对象的某个 AutoLogon 方法插入步骤。

  • 在录制会话期间按正常方式录制密码。

    录制会话后,修改密码步骤,以使用 SetSecure 方法,并输入加密密码值或参数化值。

返回页首

活动屏幕

下拉菜单

活动屏幕不会捕获下拉菜单。

活动屏幕技术在关闭菜单并选中菜单项之后捕获数据。

交互屏幕图像

录制时,UFT One 将为多个步骤捕获一个交互屏幕图像。

UFT One 仅在 SAP GUI for Windows 客户端将信息发送到 SAP 后端服务器时才会录制步骤。

发生这种情况时,在上次通信与当前通信之间执行的所有步骤都将添加到脚本。

活动屏幕将为该通信期间录制的所有步骤捕获发送到服务器的最后一个屏幕。

Web 元素

在 SAP GUI for Windows 应用程序内的 Web 元素上录制时,不会捕获 HTML 图像。

将对象添加到对象存储库中

将对象从在 SAP GUI for Windows 应用程序内的 Web 元素上录制的步骤创建的交互屏幕添加到对象存储库中时,将在对象存储库中生成不正确的对象层次结构。

这包括使用“查看对象”/“添加对象”选项将对象添加到对象存储库中,或创建检查点或输出值步骤。

返回页首

在 SAP GUI for Windows 应用程序上运行测试

HTML 元素

默认情况下,使用 UFT One Web 插件在 SAP GUI for Windows 应用程序中嵌入的 HTML 元素上执行录制和运行步骤。

在某些情况下,使用 Web 插件录制的步骤会在使用 SAP 脚本 API 的 SAP 插件步骤之前插入到脚本中。

变通方法:

使用通过 SAP 脚本接口录制 SAP GUI 应用程序中嵌入的 HTML 元素的选项。

为此,请执行以下操作:

  1. 停止录制。
  2. 在“选项”对话框的“SAP”窗格 (“工具”>“选项”>“GUI 测试”选项卡 >“SAP”>“常规”节点) 中选中“使用 SAPGui 脚本接口录制 HTML 元素”复选框。
  3. 关闭并重新打开测试,然后重新开始录制。
“对象已被禁用”错误

在 SAP GUI for Windows 应用程序中嵌入的 HTML 元素上运行测试可能会导致出现“对象已被禁用”错误。

如果 HTML 控件未准备好用于测试运行,则可能会出现这种情况。

变通方法:

Sync 语句 (如 SAPGuiSession.Sync) 或 Wait 语句添加到脚本,以便成功运行测试。

SAP Enterprise Portal

在 SAP Enterprise Portal 环境中,在 SAP Web 和 SAP Windows 环境之间进行切换时,可能会在测试运行期间偶尔发生同步问题。

变通方法:

在 Web 步骤和 Windows 步骤之间添加 WaitPropertyWait 语句。

SAP 登录 或 SAP 登录板

UFT One 可连接到 SAP Logon 或 SAP Logon Pad 应用程序,以在 SAP GUI for Windows 会话上录制和运行测试。

如果在计算机上同时使用 SAP Logon 和 SAP Logon Pad 进程,则 UFT One 将连接到启动的最新进程。

SAP 树节点

UFT One 无法在包含“;”字符的 SAP 树节点上运行步骤。

SAP NWBC

使用 SAP NWBC 时,UFT One 不支持多个 NWBC 客户端。如果您一次打开多个 NWBC、SAP 登录或 SAPGUI 客户端,UFT One 将仅识别第一个客户端。

测试结果中的屏幕捕获 在 HTML 测试结果中,SAPGui 测试对象未在屏幕捕获中突出显示。要查看屏幕捕获中突出显示的对象,请使用 Run Results Viewer 报告。

返回页首

检查点和输出值

确保对象属性正确无误

要确保检查点捕获了正确的对象属性,请始终录制会导致与服务器通信的步骤 (例如,按 Enter) ,之后再插入检查点或输出值。
不受支持的控件

无法对以下所列控件使用对象侦测器或为其创建检查点。

但是可以在这些控件上成功录制和运行步骤。

  • 工具栏按钮 (在网格控件中)。

  • 内部控件 (在树或表对象中)。

    例如,表单元格中的单选按钮或树中的复选框。

位于非活动 SAP 屏幕中的对象

不支持在当前处于非活动状态的 SAP 屏幕 (例如,屏幕位于调用的对话框后面) 中的对象上创建检查点或使用对象侦测器。

但是,您可以使用“录制状态栏消息”选项对状态栏消息 (显示在非活动窗口中) 创建检查点。

(工具 > 选项 > GUI 测试选项卡 > SAP 节点 > 录制状态栏消息)。

6.40 客户端上的旧 6.20 测试

在 6.40 客户端上运行旧的 6.20 测试时,以下对象上的检查点可能会因 6.40 客户端中这些对象的工具提示属性值发生更改而失败。

  • Radio buttons
  • 复选框
  • 编辑框
  • 常规按钮
表控件中的行

UFT One 可估算表控件中的行数,但无法检索精确数目,因为实际上只有客户端上可见的表内容才可用。

不可见行的数据仅存储在后端服务器上。

因此,插入或修改表控件对象的检查点时,定义/修改行范围对话框中指定的行数可能不准确。

表检查点

UFT One 检索表检查点的数据时,即便看似要花费很长时间,也不要对 SAP GUI 窗口执行任何操作,因为这可能会导致严重问题。

示例操作包括更改事务状态或导航到另一个窗口。

交互屏幕表/网格

在活动屏幕中的表或网格上插入检查点时,必须在 SAP Gui for Windows 应用程序中打开实际表,才能从该表或网格中提取正确信息。

返回页首

SAP 结构化参数

编辑测试脚本按钮

通过在 SAP Solution Manager 测试自动化: 初始屏幕事务 (事务代码: stce) 或 SAP Solution Manager 配置事务 (事务代码: Solar02) 中直接单击 Edit Test Script 按钮来启动 UFT One 时,在 UFT One 中单击维护 SAP 参数按钮可能无法跳转到 SAP Solution Manager 中的正确页面。

变通方法:

使用“更改测试配置”事务中的外部测试按钮启动 UFT One

在更改测试脚本事务中创建测试

在 SAP Solution Manager 的“更改测试脚本”事务中创建测试并单击上一步按钮时,UFT One 无法显示测试。

变通方法:

保存并关闭 UFT One,然后单击外部测试按钮以调用 UFT One

维护 SAP 参数/上一步/外部测试按钮

单击维护 SAP 参数按钮或上一步/外部测试按钮以从 UFT One 切换到 SAP 时,在 SAP Solution Manager 中收到错误: OBJECT_OBJREF_NOT_ASSIGNED

返回页首