我正在通过Hudson 3.2.1运行selenium webdriver测试用例 但在"文件上传"测试用例我使用Robot Framework,这就是为什么它不会在Hudson中执行。它通过maven分别完美运行。以下是我的文件上传代码:
public static void setClipboardData(String string) {
StringSelection stringSelection = new StringSelection(string);
Toolkit.getDefaultToolkit().getSystemClipboard().setContents(stringSelection, null);
}
driver.findElement(By.xpath(".//*[@id='photo']")).click();
setClipboardData("C:\\Users\\Townscript\\Downloads\\kick.jpg");
Robot robot;
try {
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);
robot.delay(5000);
}
catch (AWTException e) {
e.printStackTrace();
}
答案 0 :(得分:3)
如果HTML标记输入有type = file
,即
<input type="file">
您可以使用sendkeys直接上传文件。
WebDriver driver;
driver.findElement(By.<yourlocator>).sendKeys("FilePath");
希望它有所帮助!