使用selenium Web Driver中的Robot类上传功能

时间:2015-02-24 10:22:02

标签: java selenium upload webdriver

我正在使用以下代码:代码运行正常,但不是在上传窗口粘贴文件的路径,而是粘贴TestNG控制台上的路径。不会抛出任何错误,并且在浏览器上弹出的窗口仍然是空白的。如果有人遇到同样的问题,那么请帮帮我吧

  StringSelection ss= new StringSelection("D:\\test.docx");
  Toolkit.getDefaultToolkit().getSystemClipboard().setContents(ss,null);

  Robot robot = new Robot();

  robot.keyPress(KeyEvent.VK_CONTROL);
  robot.keyPress(KeyEvent.VK_V);
  robot.keyRelease(KeyEvent.VK_V);
  robot.keyRelease(KeyEvent.VK_CONTROL);
  robot.keyPress(KeyEvent.VK_ENTER);
  robot.keyRelease(KeyEvent.VK_ENTER);

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,并使用此“小”技巧进行了排序。一切都很好,唯一的技巧是您的控件/鼠标应该在被测试的应用程序上。

A)如果您在Jenkins上运行,它将像Jenkins在被测应用程序上执行脚本时一样正常工作。默认情况下,控件的焦点是应用程序本身。

B)如果在“调试”模式下运行,有时焦点会移到TestNg控制台/ Eclipse脚本编辑器,该编辑器不允许将文件路径粘贴到“打开/文件资源管理器”窗口。在Eclipse执行文件上传的机器人代码之前,只需单击该应用程序。 请让我知道它是否有效。

事实是,“机器人类”不能像预期的“文件上传”一样在Jenkins上与硒一起使用。