首页 > 解决方案 > 无法使用 LeanFt +Java 自动化脚本单击按钮 (tag=>EDL-FILE-UPLOAD)

问题描述

在我们使用 LeanFt 测试的 Web 应用程序中,有一个带有标签 (EDL-FILE-UPLOAD) 的类型按钮对象。单击此按钮时,必须弹出浏览文件系统和上传文件的对话框。手动单击按钮时会发生这种情况。

但是当我在我的 LeanFt 自动化脚本中尝试 .click() 或 .doubleClick() 方法时,什么也没有发生。现在这个按钮有一个显示标签的 web 元素子元素。所以我尝试了 webElement 的 XPathDescriptions,并尝试了 findChildren() 函数,如下所示


    WebElement[] h = browser.describe(Button.class, xPathDescriptionOfButton).findChildren(WebElement.class, xPathDescofWebElement)

    for(int i=0;i<h.length;i++) {
                    h[i].click();
                    h[i].hoverTap();
                    h[i].longPress();
                    h[i].doubleClick();
                    h[i].click(MouseButton.LEFT);
                    h[i].fireEvent(EventInfoFactory.createMouseEventInfo(MouseEventTypes.ON_CLICK));
                    h[i].fireEvent(EventInfoFactory.createEventInfo("click"));
                }

以上都没有导致弹出上传文件的对话框。

有没有其他方法可以确保单击按钮,并使用 Java+LeanFt 弹出对话框?

谢谢你。

标签: javascriptjavaangularjsui-automationleanft

解决方案


我已经能够通过使用 Robot 类在按钮的坐标上执行鼠标单击和释放操作来解决这个问题。

            Robot r=new Robot();
            r.mouseMove(xCoordinate, yCoordinate);
            r.mousePress(InputEvent.BUTTON1_DOWN_MASK);
            r.mouseRelease(InputEvent.BUTTON1_DOWN_MASK);

推荐阅读