我在 SAP GUI 中看到以下搜索树:
我正在尝试验证该树的内容,主要是我想获取为节点显示的文本。我正在使用getNodeText() [MicroFocus]获取节点的文本,但它为所有节点返回一个空字符串。
作为替代方案,我尝试了 getItemText() [MicroFocus]将 "HierarchyHeader"
作为 itemName
参数。还是没有运气。
所以从Silk4J的角度来看,树看起来像这样,这使得无法识别节点:
我什至尝试使用 getNodeAbapImage() [MicroFocus] 返回的图标来识别节点,但这也会返回一个空字符串。
现在我没有机会识别搜索树中的节点。有没有办法获取节点文本?解决方法也是可以接受的。
我正在使用 Silk4J 15.5 修补程序 5 (15.5.5.7099)。
最佳答案
我使用 SAP 脚本记录器来查看当我单击某些节点时它生成的脚本,并记录了以下内容:
session.findById("wnd[0]/...").selectItem " 2","&Hierarchy"
然后我尝试在 getItemText()
中使用 "&Hierachy"
而不是 "HierarchyHeader"
并且成功了。
接下来,我找出了文本 "&Hierarchy"
的来源,这样我就没有硬编码的魔法常量了。我发现它是getColumnNames().get(0)
。由于树类型为 COLUMN
,仅显示一列,因此索引应始终为 0
。
由于 getNodeText()
适用于 SAP 中的其他一些树,因此我实现了以下后备策略:
@Override
public String getNodeText(String nodeKey)
{
String nodeText = tree.getNodeText(nodeKey);
if (StringUtils.isEmpty(nodeText))
{
nodeText = getItemText(nodeKey, tree.getColumnNames().get(0));
}
return nodeText;
}
关于treeview - getNodeText() 不返回对象管理器搜索树的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29210437/