【发布时间】:2012-03-14 23:24:56
【问题描述】:
我看到很多人在使用 Selenium WebDriver 的测试环境中上传文件时遇到问题。我使用 selenium WebDriver 和 java,并且遇到了同样的问题。我终于找到了解决方案,所以我会在这里发布,希望它可以帮助其他人。
当我需要在测试中上传文件时,我点击按钮中的 Webdriver 并等待“打开”窗口弹出。然后我将路径复制到剪贴板中的文件,然后将其粘贴到“打开”窗口中,然后单击“Enter”。这是有效的,因为当窗口“打开”弹出时,焦点始终在“打开”按钮上。
您将需要这些类和方法:
import java.awt.Robot;
import java.awt.event.KeyEvent;
import java.awt.Toolkit;
import java.awt.datatransfer.StringSelection;
public static void setClipboardData(String string) {
StringSelection stringSelection = new StringSelection(string);
Toolkit.getDefaultToolkit().getSystemClipboard().setContents(stringSelection, null);
}
这就是我所做的,就在打开“打开”窗口之后:
setClipboardData("C:\\path to file\\example.jpg");
//native key strokes for CTRL, V and ENTER keys
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);
就是这样。它对我有用,我希望它对你们中的一些人有用。
【问题讨论】:
标签: java file-upload selenium-webdriver