javascript - 无法使用 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 弹出对话框?
谢谢你。
解决方案
我已经能够通过使用 Robot 类在按钮的坐标上执行鼠标单击和释放操作来解决这个问题。
Robot r=new Robot();
r.mouseMove(xCoordinate, yCoordinate);
r.mousePress(InputEvent.BUTTON1_DOWN_MASK);
r.mouseRelease(InputEvent.BUTTON1_DOWN_MASK);
推荐阅读
- reactjs - React Router 链接在 ReactJS 和 Mobx 中使用 react-router-dom 的 Menu.Item 元素中不起作用
- mediawiki - 为什么即使此模块已导入我的 MediaWiki 中,也会出现错误“脚本错误:没有此类模块“en-headword””?
- r - 删除所有内容,直到 R 中第一次出现括号“(”
- java - 如果一个 android 应用程序已经发布,我可以将 key.jks 文件从 /Users 中的原始位置移动吗?
- hazelcast - Hazelcast throwing class not found exception for the same parent class in which write business logic
- r - 空间固定效应面板模型中的近似影响
- javascript - TypeScript 未解析类型谓词
- python - sklearn linear_model LinearRegression, ValueError: Expected 2D array, got 1D array instead
- gzip - 是否可以直接用 jq 读取 gzip 文件?
- python - 如何无限循环这个函数而不会出错?