我想从本地目录导入一个文件。所以我正在做所有这些步骤。
public static void sendFile(WebDriver webdriver, String text)
{
StringSelection stringSelection = new StringSelection(text);
Toolkit.getDefaultToolkit().getSystemClipboard().setContents(stringSelection, null);
webdriver.switchTo().activeElement();
waitFor.waitTimeOut(5 * 1000);
Robot robot = null;
try {
robot = new Robot();
}
catch (AWTException e)
{
throw new RuntimeException(e);
}
log.debug("Entering: " + text);
robot.keyPress(KeyEvent.VK_CONTROL);
robot.keyPress(KeyEvent.VK_V);
robot.keyRelease(KeyEvent.VK_V);
waitFor.waitTimeOut(5 * 1000);
robot.keyRelease(KeyEvent.VK_CONTROL);
robot.keyPress(KeyEvent.VK_ENTER);
robot.keyRelease(KeyEvent.VK_ENTER);
}
我正在调用这个方法:
String text = "C:/text.xml"
sendFile(new FirefoxDriver(),text);
但是在调用java.awt.HeadlessException
时它会让我getSystemClipboard(Unknown Source)
。但是文件的位置是正确的。那么任何人都知道这个问题的解决方案吗?
答案 0 :(得分:0)
浏览文档
http://www.oracle.com/technetwork/articles/javase/headless-136834.html
当依赖于显示的代码时抛出HeadlessException 设备,键盘或鼠标在没有的环境中调用 支持这些
如果您计划运行,也可以使用以下命令行 无头和传统环境中的相同应用:
java -Djava.awt.headless = true