未使用 Java 中的 java.awt.Robot 类上传文件

问题描述

我尝试在使用 Java 编写的 Selenium 测试用例中实现 Robot 类。我在那里遇到一个奇怪的问题。因此,当我尝试在本地计算机(Windows 10 企业版)上运行这些测试用例并监控它时,它工作正常并且文件正在上传。但是,当我尝试在远程服务器 (Windows Server 2012) 中运行它们并对其进行监控时,它又可以正常工作了,但是当我让这些测试用例整夜运行时,我发现 文件资源管理器 对话框正在打开,但它永远不会关闭。可能是文件路径没有被粘贴,并且 Enter (Ok) 按钮没有被点击。

    public void uploadFile(String path) {
        String abspath = _getAbsolutePath(path);
        StringSelection stringSelection = new StringSelection(abspath);
        Toolkit.getDefaultToolkit().getSystemClipboard().setContents(stringSelection,null);
        Robot robot = null;
        try {
            // native key strokes for CTRL,V and ENTER keys
            robot = new Robot();
            robot.setAutoDelay(5000);
            robot.keyPress(KeyEvent.VK_CONTROL); // Press Ctrl
            robot.keyPress(KeyEvent.VK_V); // Pres V

            robot.keyrelease(KeyEvent.VK_V); // Release Ctrl
            robot.keyrelease(KeyEvent.VK_CONTROL); // Release V

            robot.setAutoDelay(5000);
            robot.keyPress(KeyEvent.VK_ENTER); // Press Enter
            robot.keyrelease(KeyEvent.VK_ENTER); // Release Enter
        } catch (Exception exp) {
            exp.printstacktrace();
        }
    }

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)