已知问题 - 基于 Web 的 SAP

本主题包含有关测试基于 Web 的 SAP 应用程序的疑难解答和限制信息。

常规

我们建议仅在没有加载其他基于 Web 的插件时使用 UFT One SAP 解决方案插件。

SAP 解决方案插件将修改可能会影响其他插件或应用程序的 Web 配置设置。

返回页首

在 Chrome 上测试基于 Web 的 SAP 应用程序

如果您使用的是 Chrome 商店或“<UFT One 安装文件夹>\Installations\Chrome\v3”文件夹中提供的最新扩展,您可能会遇到意外行为。

如何判断我是否使用了相关的扩展: 导航到 chrome://extensions/ 页面,然后在您安装的扩展上单击“详细信息”。扩展的“检查”视图为服务工作程序

变通方法: 卸载现有扩展,按照手动安装扩展中的安装说明从“<UFT One 安装文件夹>\Installations\Chrome\v2”安装另一个 Chrome 扩展。

返回页首

对象标识

多个浏览器窗口

在某些情况下,当测试运行期间打开了多个浏览器时,UFT One 无法正确标识特定对象。

变通方法: 在“对象存储库”窗口中清除 Browser 测试对象的启用智能标识复选框。

您可能还希望在对象标识对话框中禁用 Browser 测试对象的启用智能标识选项,以用于以后的测试录制。

iView

可能无法正确识别最小化或折叠的 iView。

SAP Enterprise Portal 框架

在某些情况下,SAP Enterprise Portal 中的框架可能被识别为 Web Frame 对象而非 iView 对象。

有时会动态生成框架名称。

因为 Web Frame 对象使用 name 属性标识对象,所以必须修改录制的 name 值,才能使用相应的正则表达式,以便 UFT One 能在测试运行期间识别它。

SAP Web 表单元格

在 SAP Web 表单元格内的对象上使用对象侦测器或创建检查点时,如果尚未在对象上执行单击,UFT One 可能会将该对象识别为 WebElement 而非相应的 SAP Web 对象。

变通方法: 先单击 SAP Web 表单元格内的对象,再在该对象上使用对象侦测器或创建检查点。

SAP NWBC S/4HANA 系统中的 Web 表单元格

当您使用对象侦测器在 Internet Explorer 中对 SAP NWBC S/4HANA 系统中的 SAP Web 表单元格内的对象进行侦测或创建检查点时,UFT One 可能会捕获重复的表名和单元格值。

SAP NWBC S/4HANA 系统中的 SAPList 对象

当您在 Internet Explorer 中对 SAP NWBC S/4HANA 系统中的 SAPList 对象进行侦测或录制时,UFT One 捕获的某些属性的值可能是错误的。

交互屏幕

避免使用在弹出式对话框打开时捕获的交互屏幕将对象从主窗口添加到对象存储库。否则会导致对象存储库中的对象层次结构不正确。

更低版本中的 SAP SuccessFactors 测试

UFT One 24.2 或更高版本:

在 24.2 中,SAP SuccessFactors 对象标识已被修改。如果运行在低于 24.2 的版本中创建的测试,可能无法标识某些 SAP 或 Web 对象。

在这种情况下,请通过执行以下操作之一来更新您的测试: 

  • 在对象存储库中,使用“从应用程序更新”按钮 来更新对象的描述。有关详细信息,请参阅更新描述属性

  • 通过侦测对象并将其添加到对象存储库中来再次识别对象。然后,将测试步骤更新为使用新对象。

  • 删除相关步骤并通过录制来重新创建步骤。

返回页首

录制

拖动滚动条

不会录制拖动表滚动条操作。

变通方法: 可以通过单击滚动按钮来录制在表中滚动的操作。或者使用步骤生成器或编辑器在测试中插入 SAPTable.Object.DoScroll("up")SAPTable.Object.DoScroll("down") 语句。

iView 选项菜单/SAP Enterprise Portal 标题栏

iView 选项菜单上的操作以及 SAP Enterprise Portal 页面标题栏中对象上的操作均将录制为 Frame 对象上的 Web 操作,而非录制为 iView 对象上的 SAP 操作。

SetCellData 方法

在 SAP GUI for HTML 中的某些表中,无法正确录制 SetCellData 方法。

变通方法: 录制时,在编辑表格单元格中的文本值后执行以下操作之一:

  • Tab 提交该值并移至下一个单元格。
  • Enter 提交该值,然后单击表单元格之外的某个位置。
SAPList 对象

在 SAPList 对象上录制时,您需要单击列表的输入部分,而非其按钮部分,以便 UFT One 能够识别该对象。

S/4HANA 系统中的 SAPTable 对象

在 Internet Explorer 中录制时,如果在 S/4HANA 系统的 SAPTable 单元格中按 EnterUFT One 不录制步骤。

变通方法: 要指示 UFT One 在按 Enter 时录制 SAPTable.Submit 步骤,请创建以下注册表项并将其值设置为 1:

Computer\HKEY_CURRENT_USER\Software\Mercury Interactive\QuickTest Professional\MicTest\Packages\SAPPackage\Settings\RecordSubmitForTableNavigateEvent

交互屏幕

交互屏幕可能不显示在录制测试时捕获的整个 HTML 页面。

变通方法: 调整交互屏幕大小,以使其适合 HTML 页面大小。

SAPDropDownMenu 对象

在 Chrome 或 Internet Explorer 中,UFT One 可能无法在 SAP CRM 或 WDA 应用程序中的 SAPDropDownMenu 对象上进行录制。

变通方法: 使用侦测器来识别对象并将其添加到对象存储库中。然后,手动将必需的步骤添加到测试中。

CRM S/4HANA 系统上的 SAPTabStrip().Select 操作

在 Internet Explorer 上录制 SAPTabStrip().Select 操作时,UFT One 有时会录制冗余步骤。

变通方法: 使用侦测器来识别对象并将其添加到对象存储库中。然后,手动将必需的步骤添加到测试中。

SAPTreeView 对象
  • 无法在 Chrome、Edge 和 Firefox 中录制 SAPTreeView 对象的 Activate 方法。

    变通方法: 使用侦测器来识别对象并将其添加到对象存储库中。然后,手动将必需的步骤添加到测试中。

  • 如果单击 SAPTreeView 对象的节点,UFT One 可能无法录制对该节点的 Select 操作。

    变通方法:

    • 录制时双击该节点。如果问题仍然存在,请尝试第二种方法。

    • 使用侦测器来识别对象并将其添加到对象存储库中。然后,手动将必需的步骤添加到测试中。

SAP Enterprise Portal 中的 SAPTreeView 对象

UFT One 可能无法录制 SAP Enterprise Portal 中 SAPTreeView 对象上的 OpenContextMenu() 操作。

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

  • 执行以下步骤加载事件配置文件,然后再次录制操作。

    1. UFT One 中,选择“录制”>“Web 事件录制配置”

    2. 在“Web 事件录制配置”对话框中,单击“自定义设置”

    3. 在“自定义 Web 事件录制配置”对话框中,选择“文件”>“加载配置”

    4. 选择 C:\Program Files (x86)\OpenText\UFT One\dat 中的 SapEventConfiguration.xml 文件。

  • 使用侦测器来识别对象并将其添加到对象存储库中。然后,手动将必需的步骤添加到测试中。

Internet Explorer 中的 SAPUI5 或 SAP SuccessFactors

在某些情况下,在 SAPUI5 中的 SAPUI 对象或 Internet Explorer 中的 SAP SuccessFactors 应用程序上进行录制不会录制任何步骤。

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

  • 在 Chrome 中录制这些步骤并在 Internet Explorer 中运行它们。

  • 使用侦测器来识别 SAPUI 对象并将其添加到对象存储库中。然后,手动将必需的步骤添加到测试中。

在 Firefox 中的 CRM S/4HANA 系统上进行录制

在 Firefox 78.14.0 ESR 中的 CRM S/4HANA 系统上进行录制时,您可能会遇到以下错误:

  • OpenText UFT Agent 减慢浏览器的速度

  • UFT One 执行缓慢或无响应

变通方法: 在 Firefox 扩展设置中,单击 OpenText UFT Agent旁边的圆点按钮并选择“选项”。然后在“选项”选项卡中将“默认帧通信模式”设置为“扩展”

SAPRadioGroup.Select

在 Internet Explorer 上的 SAP NWBC S/4HANA 2020 系统中对 SAPRadioGroup 对象录制 Select 操作时,UFT One 可能无法完整录制操作或将操作错误地录制为 MouseDown 事件。

变通方法: 手动将录制的步骤添加或更改为 SAPRadioGroup.Select 步骤。

SAPButton 对象

当在 SAP Enterprise Portal 中录制 SAP 下拉按钮上的 SelectMenuItem 操作时,UFT One 可能录制附加的 SAPDropDownMenu.Select 步骤。

变通方法: 删除附加的 SAPDropDownMenu.Select 步骤。

SAPTable 多行选择方法

UFT One 24.2 及更高版本上受支持

在某些多行选择 SAPTable 对象中,不录制 ExtendSelectRowExtendDeSelectRow 方法。

变通方法: 侦测表并将其添加到对象存储库中。然后,手动将多行选择步骤添加到测试中。

如果 ExtendSelectRowExtendDeSelectRow 方法不选择行,请尝试使用 SelectCellSelectCellData 方法选中行标题 (第一列) 中的复选框。

返回页首

在 SAP 应用程序上运行测试

性能

在测试运行期间,SAP 平台响应时间可能会长于 UFT One 运行对应步骤所用的时间。

变通方法: 在相关步骤之前添加 Wait 语句。

找不到对象

在某些情况下,当在 SAPEdit、SAPNavigationBar 或 SAPPortal 上运行测试时,可能会收到找不到对象错误。

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

  • 确保对象属性唯一且正确。

  • 按如下所指定的修改注册表:

    对于 32 位计算机: 在 HKEY_LOCAL_MACHINE\Software\Mercury Interactive\QuickTestProfessional\MicTest\AbortIfHangInSendData 注册表项中,将 DWORD 的值设置为 0

    对于 64 位计算机: 在 HKEY_LOCAL_MACHINE\Software\Wow6432Node\Mercury Interactive\QuickTestProfessional\MicTest\AbortIfHangInSendData 注册表项中,将 DWORD 的值设置为 0

    备注: 出于向后兼容性考虑,一些注册表项特意包括了以前的公司品牌。

ITS 框架

在 SAP Enterprise Portal iView 的 ITS 框架上运行测试时,ITS 菜单有时无法正常使用。

变通方法: 放大 iView,并/或增加对象同步超时,然后再次运行测试。

基于 Web 的 CRM 系统

使用 CRM 系统测试模式:

当使用 UFT One 测试基于 Web 的 CRM 系统时,请确保 CRM 处于测试模式。可以通过向 URL 添加 "?sap-testmode=X" 来完成此操作。

CRM 7.02 和 7.03:

测试使用 CRM 7.02 或 7.03 开发的应用程序时,SAPList.Select 方法可能会生成参数错误。

如果发生这种情况,请在 Select 步骤之前添加 Click 步骤,以避将来出现错误。

SAPRadioGroup 和 SAPTabStrip 对象

测试基于 Web 的 CRM 和 NWBC S/4HANA 系统时,SAPRadioGroupSAPTabStrip 对象不支持“高亮显示”和“CaptureBitmap”方法。

SAPTable 对象

对于某些 SAPTable 对象,只有在客户端中可见的表内容才实际可用。

如果要查找或选择的行在表中不可见,则某些方法 (例如 FindRowByCellContentExtendSelectRowExtensDeSelectRow) 无法正常工作。

变通方法: 添加步骤以滚动相关行使其显示。

SAPTable 多行选择方法

UFT One 24.2 及更高版本上受支持

对于某些多行选择 SAPTable 对象,ExtendSelectRowExtendDeSelectRow 方法未选择多行。

变通方法: 尝试使用 SelectCellSelectCellData 方法选中行标题 (第一列) 中的复选框。

S/4HANA 系统的 SAP 表中的 SAPList 对象

在某些 S/4HANA 系统中,针对表单元格中包含的某个列表运行 SAPList().Select 方法将不会从该列表中进行选择。

变通方法: 在从表单元格内的列表中选择的步骤之前,添加一个用于选择该单元格的步骤。

示例:

SAPTable("MyTable").SelectCell X,Y

SAPList("MyList").Select

SAPDropDownMenu

在运行时期间,UFT One 可能无法标识 SAP NWBC、WDA 或 EP 应用程序中的 SAPDropDownMenu 对象。

变通方法:

  • Logical nameinnertext 描述属性添加到对象存储库中的对象,然后再次运行测试。如果 innertext 属性未提供唯一标识,请改用 index 属性。
  • 如果上述变通方法无法解决该问题,请执行以下操作: 在“对象标识”中,将 'html id' 属性添加到 SAPDropDownMenu 对象的“必要属性”中。

具有子菜单的 SAPDropDownMenu 对象

如果录制时在 SAPDropDownMenu 对象的子菜单中已选择一个项,则录制的对象将是子菜单,而非父菜单。这可能会导致测试运行失败。

变通方法: 为避免错误,请在运行测试之前,手动更改对象存储库中的描述属性,以与父菜单 (而非子菜单) 匹配。

跨浏览器测试支持

在 Internet Explorer 中,UFT One 可能无法运行在 Chrome 中录制的 SAPButton.Click 操作。

变通方法: 在对象存储库中,将辅助属性 html tag 替换为 html id

SAPNWBC.DetailedNavigation

当您运行用于导航到 Chrome 左侧导航树中某个文件夹下的菜单项的 SAPNWBC.DetailedNavigation 步骤时,会发生错误。

变通方法: 添加一个步骤以先导航到父文件夹,然后再运行导航到子菜单项的步骤。

SAPFrame 对象

如果在 Chrome 中为包含名称以 “.” 结尾的图像的 SAPFrame 对象添加检查点,UFT One 可能无法在 Internet Explorer 中运行已添加的检查点。

变通方法: 从检查点中删除图像检查。

SAPTreeView.SelectMenuItem

在 Internet Explorer 中,UFT One 可能无法运行已手动添加到测试中的 SAPTreeView.SelectMenuItem 步骤。

变通方法: 使用侦测器来识别对象并将其添加到对象存储库中。然后,手动将必需的步骤添加到测试中。

SAPRadioGroup 对象

Chrome 中录制的 SAPRadioGroup 对象可能包含额外的描述属性 sap groupbox name。如果在 Internet Explorer 中的 SAPRadioGroup 对象上运行在 Chrome 中录制的测试步骤,测试步骤可能会失败。

变通方法: 删除对象存储库中 SAPRadioGroup 对象的描述属性 sap groupbox name,并在 Internet Explorer 中运行测试步骤。

高亮显示方法

当您在 Chrome 或 Edge 中对 SAP 对象运行 Highlight 方法时,将打开一个弹出式窗口。结果,该方法无法正常工作。

变通方法: 要解决此问题,请执行以下步骤:

  1. 右键单击浏览器桌面快捷方式并从上下文菜单中选择“属性”

    如果浏览器在桌面上没有快捷方式,请从启动菜单中找到该程序并打开文件位置。

  2. 在 Google Chrome“属性”/Microsoft Edge“属性”对话框的“快捷方式”选项卡上,将以下行附加到“目标”字段的现有值。

    ' --silent-debugger-extension-api'

返回页首

Fiori 应用程序

在两个连续的步骤中使用 Set 方法

使用 Fiori 应用程序时,如果在连续两次使用 Set 方法的脚本中运行 sapUIObject 值设置为变量的测试,则可能会发生错误。

例如:

set sapObject=Browser("DatePicker - sap.m").Page("DatePicker - sap.m").SAPUICalendar("DP1-describedby")
sapObject.SetDate "20150114"
sapObject.SetDate "000000"

请使用以下方法之一更新脚本:

Chrome 中的其他对象

在 Chrome 中工作时,如果您将某些对象添加到对象存储库中,UFT One 会添加许多其他对象。

变通方法: 使用其他浏览器 (IE 或 Firefox) 或从存储库中手动删除不需要的对象。

SAPUICalendar 上录制 SetDate 步骤

使用 Fiori 应用程序时,具有时间选取器的 Calendar 对象上的 SetDate 无法正确录制和运行时间部分。

变通方法: 手动将 WebEdit.Set 步骤添加到测试中。

例如:

WebEdit.Set "Jan 23, 2019, 11:46:00 AM"

SAPUIDateTimeInput 上录制 SetDateTime 步骤

在 Fiori 应用程序上录制时,不会录制 SAPUIDateTimeInput.SetDateTime

变通方法: 录制时,请在 SAPUIDateTimeInput 对象中选择日期之前,单击文本框以使 SAPUIDateTimeInput 对象成为焦点。

使用 Submit 方法时浏览器将刷新

同时启用 Web 和 SAP 插件时,如果使用 webUtil 之后在 Firefox/Chrome 中使用 Submit 方法,浏览器将刷新。

变通方法:

  • 使用 systemUtil 来代替 webUtil
  • submit 方法之前,使用 DeviceReplay 将焦点从 URL-文本框转移到要提交的文本框上。例如:

    WebUtil.LaunchBrowser "FIREFOX"
    Browser("micclass:=browser").Navigate "https://sapui5.hana.ondemand.com/1.44.27/test-resources/sap/m/Dialog.html"
    Browser("micclass:=browser").Page("micclass:=page").SAPUIButton("name:=Simple Dialog").Click
    Set dr = CreateObject("Mercury.DeviceReplay")
    ax = Browser("micclass:=browser").Page("micclass:=page").SAPUIDialog("name:=Simple Dialog").GetROProperty("abs_x")
    ay = Browser("micclass:=browser").Page("micclass:=page").SAPUIDialog("name:=Simple Dialog").GetROProperty("abs_y")
    dr.MouseClick ax,ay,LEFT_MOUSE_BUTTON
    Browser("micclass:=browser").Page("micclass:=page").SAPUIDialog("name:=Simple Dialog").Submit

在 Chrome 上录制 SAPUIMenu.Select 操作

在 Chrome 上的 Fiori 1.91 及更高版本中录制 SAPUIMenu().Select 操作时,UFT One 有时会录制冗余步骤。

变通方法:

  • 从测试中手动删除重复的步骤。

  • 使用侦测器来识别对象并将其添加到对象存储库中。然后,手动将必需的步骤添加到测试中。

返回页首

特定于 SAPUI5 的限制

桌面/移动

由于 SAPUI5 插件支持桌面和移动应用程序,因此桌面和移动应用程序并非支持所有对象的所有方法。

应用程序警报消息

在 SAPUI5 测试对象上运行测试或组件时,不会显示某些对象的应用程序警报消息。

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

  • 确保测试不包含需要针对警报消息执行的步骤。

  • If 语句添加到可触发警报的对象测试中,检查是否存在警报。

嵌套的表对象

如果 SAPUI5 应用程序包含嵌套的表对象,则在嵌套的表对象上插入检查点将仅显示父 SAPUITable 对象。

变通方法: 选择嵌套的 WebTable 对象,并为 WebTable 对象(而非父 SAPUITable 对象)创建检查点。

SAPUIMenu 对象

当使用对象侦测器查看 SAPUIMenu 对象或录制处于已关闭状态且隐藏的 SAPUIMenu 对象时,可能无法执行以下操作:

  • 在 Firefox 和 Chrome 浏览器中使用“将对象添加到存储库”按钮 将菜单对象添加到存储库中

  • 在 Chrome 浏览器中录制对象。

  • 在 Firefox 和 Chrome 浏览器中添加检查点或输出值步骤

禁用的控件

使用移动 SAPUI5 应用程序时,由于应用程序对象属性,UFT One 无法在某些禁用的控件 (如 SAPUIButtonSAPUITextEdit) 上使用对象侦测器。

Internet Explorer 11

在 Internet Explorer 11 中工作时,如果您的应用程序要求您向下滚动以执行某个按钮单击操作,SAPUIButton.Click 方法不会单击该按钮。

变通方法: 请改用 SAPUIButton.Submit 方法。

ChildObjects 方法

在某些对象上使用 ChildObjects 方法时,不同的浏览器会返回不同的结果。

SAPUIFacetFilter.Open 方法

打开多个筛选时,SAPUIFacetFilter.Open 方法可能会失败。

变通方法: 在打开第二个筛选之前使用 DeviceReplay 模糊处理鼠标焦点。

示例:

x=Browser("SAPUI5 SDK - Demo Kit").Page("SAPUI5 SDK - Demo Kit").SAPUIFacetFilter("SAPUIFacetFilter").GetROProperty("abs_x")

y=Browser("SAPUI5 SDK - Demo Kit").Page("SAPUI5 SDK - Demo Kit").SAPUIFacetFilter("SAPUIFacetFilter").GetROProperty("abs_y")

Set obj=CreateObject("Mercury.DeviceReplay")

obj.MouseMove x,y

obj.MouseClick x-5, y-5, 0

SAPUIList.SetItemData 方法 要在 Mozilla Firefox 上的列表中的输入字段上进行录制,请在录制过程中单击该字段两次,然后再输入文本。
WebUtil.LaunchBrowser 方法

如果您使用 WebUtil.LaunchBrowser 方法从 Internet Explorer 或 Chrome 打开应用程序,后续 SAPUIFacetFilter.Open 步骤可能会失败。

变通方法:

  • 使用“录制和运行设置”打开浏览器。

  • 使用 DeviceReplay 将焦点移出导航栏。

示例:

x=Browser("SAPUI5 SDK - Demo Kit").Page("SAPUI5 SDK - Demo Kit").SAPUIFacetFilter("SAPUIFacetFilter").GetROProperty("abs_x")

y=Browser("SAPUI5 SDK - Demo Kit").Page("SAPUI5 SDK - Demo Kit").SAPUIFacetFilter("SAPUIFacetFilter").GetROProperty("abs_y")

Set obj=CreateObject("Mercury.DeviceReplay")

obj.MouseMove x,y

obj.MouseClick x-5, y-5, 0

返回页首

SAPUI5 和 SuccessFactors 应用程序

SAPUIList.Select 方法

如果相应操作涉及向下滚动来查找 SAPUIList 对象中的某个选项,则 SAPUIList.Select 方法无法选择该选项。

变通方法 1: 运行 SAPUIList.Select 步骤两次。

变通方法 2:

  1. 直接单击用于展开 SAPUIList 对象的按钮。

  2. 检查当前显示的列表中是否存在您要选择的选项。

  3. 如果存在,请使用 WebElement.Click 单击该选项。否则,请使用 DeviceReplay 向下滚动已展开的列表,直到显示目标选项,然后使用 Webelement.Click

SAPUIList.Select 方法

如果使用索引来表示要在脚本中选择的项,SAPUIList.Select 方法可能无法运行相应操作。

变通方法: 使用上述变通方法 2。

SAPUIList 对象

如果同一页面上存在多个相似的 SAPUIList 对象,UFT One 可能无法在运行时正确标识它们。

变通方法: 更改对象存储库中的对象属性,以使 UFT One 能够标识特定对象,例如添加属性 ID 和删除额外的索引值。

SAPUITable.SetCellData 方法

SetCellData 方法可能无法设置 SAPUITable 对象的单元格值。

变通方法: 请改用 SAPUITextEdit.Set 方法。

SAPUITable.SelectItemInCell 方法

在 Internet Explorer 中,UFT One 可能无法运行已录制的 SAPUITable.SelectItemInCell 操作。

变通方法: 使用侦测器来识别对象并将其添加到对象存储库中。然后,手动将必需的步骤添加到测试中。

包含 SAPUITable 对象的 SAPUIList 对象

SAPUIList 对象可能会被错误地录制为 SAPUITextEdit 对象或 SAPUITable 对象。在这种情况下,运行已录制的 SAPUITextEdit.SetSAPUITable.SelectCell 步骤可能会失败。

变通方法:SAPUITextEdit.SetSAPUITable.SelectCell 步骤之前添加 WebButton.Click 步骤和 Wait 步骤。

示例:

Browser("Performance-Potential_2").Page("Performance-Potential").WebButton("__xmlview0--userSearchInput-ar").Click

wait 5

Browser("Performance-Potential_2").Page("Performance-Potential").SAPUITable("SAPUITable").SelectCell 16,"#1"

SAPUICalendar 对象
  • UFT One 可能无法在某些 SAPUICalendar 对象上录制或运行步骤。

    变通方法: 使用侦测器来识别对象并将其添加到对象存储库中。然后,手动将必要的步骤添加到测试中。

  • 对于同一 SAPUICalendar 对象,在 Internet Explorer 中捕获的 innertext 属性值可能与在 Chrome 中捕获的值不同。

    变通方法: 出于兼容性要求,请在对象存储库中将 innertext 属性的值更改为正则表达式。

表内的 SAPUI 对象

UFT One 可能无法在表内的 SAPUI 对象上执行录制。

变通方法: 使用侦测器来识别对象并将其添加到对象存储库中。然后,手动将必需的步骤添加到测试中。

SAPUITextEdit.Set 触发的动态搜索

如果触发动态搜索,已录制的 SAPUITextEdt.Set 操作可能无法正确运行。

变通方法:

添加 Wait 语句,然后添加 SAPUITable.SelectCell 步骤。

或者,使用 DeviceReplay 选择编辑框值或直接使用 SAPUITextEdt.Set 步骤设置编辑框值。

SAPUIButton.Click

在某些应用程序中,UFT One 可能无法录制或运行打开文件上传窗口的 SAPUIButton.Click 操作。

变通方法: 使用以下解决方案之一:

  • 使用 DeviceReplay

  • 使用 WebFile.Submit 方法提交和上传文件。

SAPUITextEdit 对象

在 SAP SuccessFactors H2 2022 中侦测或录制动态搜索框时会出现以下问题:

  • 当侦测动态搜索框时,UFT One 可能会将对象标识为 WebEdit 测试对象,而不是 SAPUITextEdit

    变通方法: 要将对象标识为 SAPUITextEdit,您需要单击该对象稍下方的位置。要找到确切的单击位置,请将鼠标在对象下方移动,直到 UFT One 高亮显示 SAPUITextEdit 对象。

  • 有时,在录制选择文本框动态搜索结果的操作时,UFT One 可能无法录制 SAPUITextEdit.Set 步骤。

    变通方法: 使用侦测器来识别对象并将其添加到对象存储库中。然后,手动将必需的步骤添加到测试中。如果录制了 WebEdit.Set 步骤,请删除该步骤。

  • 有时,在录制对 SAPUITextEdit 对象的 Set 操作时,UFT One 会录制两个不同的步骤 (WebEdit.Set 步骤和 SAPUITextEdit.Set 步骤)。

    变通方法: 删除 WebEdit.Set 步骤并保留 SAPUITextEdit.Set 步骤。

SAPUIButton 对象

在 SAP SuccessFactors H2 2022 中侦测或录制 SAPUIButton 对象时会出现以下问题:

  • 当侦测按钮时,UFT One 可能会将对象标识为 WebButton 测试对象,而不是 SAPUIButton

    变通方法: 要将对象标识为 SAPUIButton,您需要单击该对象稍下方的位置。要找到确切的单击位置,请将鼠标在对象下方移动,直到 UFT One 高亮显示 SAPUIButton 对象。

  • 有时,在录制对 SAPUIButton 对象的 Click 操作时,UFT One 会录制两个不同的步骤 (WebButton.Click 步骤和 SAPUIButton.Click 步骤) 或两个 SAPUIButton.Click 步骤。

    变通方法: 删除一个步骤并保留 SAPUIButton.Click 步骤。

SAPUIList.ExtendSelect 和 SAPUIList.ExtendDeselect 方法

SAP SuccessFactors H2 2022:

成功录制 SAPUIListExtendSelectExtendDeselect 操作后,UFT One 有时无法录制后续的 ExtendSelectExtendDeselect 操作。

变通方法: 第一个 ExtendSelectExtendDeselect 操作录制成功后,单击下拉按钮重新打开下拉列表,然后继续录制。

返回页首

SAP Business Networks 应用程序

SAPWebExt 列表

不支持在 SAP FieldGlass 中的 SAPWebExt 列表对象上侦测或添加检查点。

测试 SAP FieldGlass 时,SAPWebExtList.Select 方法可能会失败。如果发生这种情况,请改用 WebEdit.Set 方法。

SAPWebExtTable 对象

不支持 SAPWebExtTable 对象上的检查点。

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

  • 重新启动 UFT,清除 SAPWebExt 插件,然后在 WebTable 对象上添加检查点。

  • 使用 .GetCellData 方法

  • 在 SAPWebExtTable 对象的子 WebTable 上添加检查点。

返回页首

SAP WDA 应用程序/S/4 HANA 中的 SAP WDA 应用程序

此部分介绍在使用 Web Dynpro ABAP (WDA) 应用程序或 SAP S/4 HANA 中的 WDA 应用程序时可能遇到的已知问题。

SAPButton.Click 方法

在 Web Dynpro ABAP 站点上录制 SAPButton.Click 方法可能会导致浏览器出现延迟。

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

  • 等待浏览器做出响应
  • 暂停录制并再次单击
  • 刷新浏览器并重试
SAPTable 对象
  • 不录制 WDA 应用程序中 SAPTable 对象上的 Click 操作。

    变通方法: 手动将该对象添加为 WebElement,并将 WebElement.Click 步骤添加到测试中。

  • WDA 应用程序或 SAP S/4 HANA 中的 WDA 应用程序中的 SAP Web 表单元格内的 Link 对象上的 Click 操作可能会被错误地录制为 SAPTable.SelectCell 操作。

    变通方法: 使用侦测器来识别 Link 对象并将其添加到对象存储库中。然后,手动将必需的步骤添加到测试中。

  • 为 WDA 应用程序中的 SAPTable 对象添加检查点时,可能会发生未指定的错误。

    变通方法:HKEY_LOCAL_MACHINE\Software\Wow6432Node\Mercury Interactive\QuickTest Professional\MicTest 中添加默认值为 0 的注册表 AbortIfHangInSendData

    请注意,当在其他 SAP 技术 (例如 Fiori 和 SAPUI5) 上运行时,这可能会导致出现问题。

    备注: 出于向后兼容性考虑,一些注册表项特意包括了以前的公司品牌。

SAP WDA 应用程序中的 SAPTable.OpenPossibleEntries

在某些应用程序上,不会在 IE 或 Chrome 中录制 SAPTable.OpenPossibleEntries 操作。

变通方法:

先单击单元格,然后单击单元格旁边的图标以录制 OpenPossibleEntries

删除已录制的所有其他 SetCellData 步骤。

SAPTable.SelectCell 方法: 常规录制

在 SAP WDA 7.5 应用程序中的 SAPTable 对象上使用 SelectCell 方法时:

  • 如果表单元格位于单击后立即关闭的弹出式对话框窗口中,UFT One 将无法录制操作。

  • 您可能需要单击两次表单元格才能使 UFT One 能够录制操作。

SAPTable.SelectCell 方法: 录制应用程序中消失的表对象

如果执行选择操作后表对象立即从 SAP WDA 应用程序中消失,则不会在该表对象上录制 SelectCell 方法。

变通方法: 录制后手动添加 SAPTable.SelectCell 方法。

SAPEdit 对象

在 Chrome 或 Egde 中对 SAP S/4HANA 中的某些 WDA 应用程序中的 SAPEdit 对象进行录制时,UFT One 录制的对象名称可能不正确。

变通方法: 使用侦测器来识别 SAPEdit 对象并将其添加到对象存储库中。然后,手动将必需的步骤添加到测试中。

返回页首

动态显示

如果您的 Web Dynpro ABAP 或 EP 应用程序配置了在滚动时动态显示的功能,则在检索当前不可见的单元格或列表数据时可能会遇到问题。

为避免出现这种情况,请确保在运行步骤、侦测或突出显示之前完全加载所有数据。

例如:

针对表的变通方法:

SAPTable.GetCellData 方法之前,添加可向下滚动并显示所有行数据的步骤。

然后,对当前行值使用 GetCellData 方法。

例如:

'get value in row 1
print Browser("WDR_TEST_C_TABLE [Web").Page("Web Dynpro Test Suite").SAPTable("[Demo Table Part 1]").GetCellData (2,4)
For Iterator = 1 To 4 Step 1
    wait 1
    Browser("WDR_TEST_C_TABLE [Web").Page("Web Dynpro Test Suite").SAPButton("SAPButton_2").Click
Next
'get value in row 7 which is shown in line 4 after scroll
print Browser("WDR_TEST_C_TABLE [Web").Page("Web Dynpro Test Suite").SAPTable("[Demo Table Part 1]").GetCellData (4,4)

针对列表的变通方法:

在使用 GetItem 方法或侦测之前,先激活 SAPList 对象。

例如,先选择或单击列表,或者在测试中使用 SelectClick 方法。

返回页首

另请参见: