如何获取 SAP 上下文菜单的功能代码?
How to get function codes for SAP context menus?
我正在使用 Silk4J (16.0.1.7470) 对我们的 SAP 应用程序进行自动化测试。有一棵树,我在其中 select 编辑了一个节点。我可以使用 SapTree.nodeContextMenu().
以编程方式打开上下文菜单
现在我想模拟对上下文菜单项之一的点击。好像用SapTree.selectContextMenuItem()就可以做到。不过这个功能需要功能码。
如何获取上下文菜单中可用的功能代码列表?
我试过 SapTree.selectContextMenuItemByText() 但出现了异常。
java.lang.RuntimeException: Error executing 'SelectContextMenuItemByText'. An unexpected COM exception occurred at SAP Frontend Server (The method got an invalid argument.). .
at com.borland.silktest.jtf.internal.Agent.convertException(Agent.java:294)
at com.borland.silktest.jtf.internal.Agent.invoke(Agent.java:394)
at com.borland.silktest.jtf.AbstractTestObject.invoke(AbstractTestObject.java:462)
at com.microfocus.silktest.jtf.sap.SapTree.selectContextMenuItemByText(SapTree.java:1650)
...
我也试过SapContextMenu.select(),但是那个方法没有参数,所以我想知道它会select。
使用 SAP 脚本记录器
获取功能代码的一种方法是使用 SAP 脚本录制和回放(德语截图)录制操作。
在记事本中打开录制的脚本并找到动作
session.findById(...).selectContextMenuItem "DELETE_RELATION"
"DELETE_RELATION"
就是您要找的功能码
使用 Silk4J
SAP 中的上下文菜单是上下文菜单的集合。这可以解释没有参数的 select()
方法。这可能适用于叶上下文菜单项。
要以编程方式转储所有函数代码,您可以使用函数 getName() 并在所有上下文菜单上调用它。 getText()
获取人类可读的文本。
List<SapContextMenu> menus = tree.getDesktop().findAll("//SapContextMenu");
for(SapContextMenu menu:menus){
try{
logger.debug("Function code: "+menu.getName());
logger.debug("Displayed text: "+menu.getText());
logger.debug("");
}
catch(Exception e){
logger.debug(e); // Didn't happen for me
}
}
我正在使用 Silk4J (16.0.1.7470) 对我们的 SAP 应用程序进行自动化测试。有一棵树,我在其中 select 编辑了一个节点。我可以使用 SapTree.nodeContextMenu().
以编程方式打开上下文菜单现在我想模拟对上下文菜单项之一的点击。好像用SapTree.selectContextMenuItem()就可以做到。不过这个功能需要功能码。
如何获取上下文菜单中可用的功能代码列表?
我试过 SapTree.selectContextMenuItemByText() 但出现了异常。
java.lang.RuntimeException: Error executing 'SelectContextMenuItemByText'. An unexpected COM exception occurred at SAP Frontend Server (The method got an invalid argument.). .
at com.borland.silktest.jtf.internal.Agent.convertException(Agent.java:294)
at com.borland.silktest.jtf.internal.Agent.invoke(Agent.java:394)
at com.borland.silktest.jtf.AbstractTestObject.invoke(AbstractTestObject.java:462)
at com.microfocus.silktest.jtf.sap.SapTree.selectContextMenuItemByText(SapTree.java:1650)
...
我也试过SapContextMenu.select(),但是那个方法没有参数,所以我想知道它会select。
使用 SAP 脚本记录器
获取功能代码的一种方法是使用 SAP 脚本录制和回放(德语截图)录制操作。
在记事本中打开录制的脚本并找到动作
session.findById(...).selectContextMenuItem "DELETE_RELATION"
"DELETE_RELATION"
就是您要找的功能码
使用 Silk4J
SAP 中的上下文菜单是上下文菜单的集合。这可以解释没有参数的 select()
方法。这可能适用于叶上下文菜单项。
要以编程方式转储所有函数代码,您可以使用函数 getName() 并在所有上下文菜单上调用它。 getText()
获取人类可读的文本。
List<SapContextMenu> menus = tree.getDesktop().findAll("//SapContextMenu");
for(SapContextMenu menu:menus){
try{
logger.debug("Function code: "+menu.getName());
logger.debug("Displayed text: "+menu.getText());
logger.debug("");
}
catch(Exception e){
logger.debug(e); // Didn't happen for me
}
}