我在SAP中看到以下搜索树:
我试图验证该树的内容,主要是我想获取为节点显示的文本。我使用getNodeText() [MicroFocus]来获取节点的文本,但它为所有节点返回一个空字符串。
作为替代方案,我尝试getItemText() [MicroFocus] "HierarchyHeader"
作为itemName
参数。仍然没有运气。
从Silk4J的角度来看,树看起来像这样,这使得无法识别节点:
我甚至尝试使用getNodeAbapImage() [MicroFocus]返回的图标来识别节点,但这也会返回一个空字符串。
目前我还没有机会识别搜索树中的节点。有没有办法获取节点文本?解决方法也是可以接受的。
我使用的是Silk4J 15.5 Hotfix 5(15.5.5.7099)。
答案 0 :(得分:1)
我使用SAP脚本记录器查看单击某些节点时生成的脚本,并记录以下内容:
session.findById("wnd[0]/...").selectItem " 2","&Hierarchy"
然后我尝试在"&Hierachy"
中使用"HierarchyHeader"
代替getItemText()
,但它确实有效。
接下来,我弄清楚文本"&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;
}