automated-tests - 如何获取 SAP 上下文菜单的功能代码?

标签 automated-tests sap silktest

我正在使用 Silk4J (16.0.1.7470) 自动测试我们的 SAP 应用程序。有一棵树,我选择了一个节点。我可以使用 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() ,但该方法没有参数,所以我想知道它会选择哪个项目。

最佳答案

使用 SAP 脚本记录器

获取功能代码的一种方法是使用 SAP 脚本记录和回放(德语屏幕截图)记录操作。

SAP Script Recording and Playback

在记事本中打开录制的脚本,找到 Action

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
    }                                                        
}

关于automated-tests - 如何获取 SAP 上下文菜单的功能代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30366878/

相关文章:

performance - 小数相加比大数相加快吗?

sql - 如何将无效数字列转换为 HANA 上的数字?

SAP 向 REST 服务发出 HTTPS 请求

java - 从 Silk Central(执行服务器)运行时,Silk 测试不会按下按钮

firefox - 如何通过 Firefox 浏览器自动进行功能测试?

c# - 用于屏幕文本的 OCR(光学字符识别)

ios - 如何在 Objective c 中使用 SAP WSDL 服务?

java - Selenium - 如何捕获页面上的所有网页元素和关联定位器?

silktest - Silk4j - 如何连接到远程计算机并在那里启动应用程序?

flutter - 如何在 Flutter 中测试 LongPressDraggable