如何使用带java的webdriver将文件从本地上载到webapp?

如何使用带java的webdriver将文件从本地上载到webapp?,java,selenium-webdriver,Java,Selenium Webdriver,我必须将Excel文件导入web应用程序。要第一次导入,我必须单击导入btn,这将弹出另一个具有浏览btn的窗口。点击浏览器打开操作系统对话框。我想在此对话框中发送文件路径,然后选择文件并单击上载。 以下是我使用的代码: String path="C:/excelFiles"; Robot robot; WebDriverWait wait=new WebDriverWait(driver, 10); wait.until(ExpectedConditions.visibilityOf(imp

我必须将Excel文件导入web应用程序。要第一次导入,我必须单击导入btn,这将弹出另一个具有浏览btn的窗口。点击浏览器打开操作系统对话框。我想在此对话框中发送文件路径,然后选择文件并单击上载。 以下是我使用的代码:

String path="C:/excelFiles";
Robot robot;

WebDriverWait wait=new WebDriverWait(driver, 10);
wait.until(ExpectedConditions.visibilityOf(importExcelbtn));
importExcelbtn.click();
browseBtn.sendKeys(path);
wait(4);
browseBtn.click();

wait(4);


StringSelection sel=new StringSelection(excelFileToImport);
Toolkit.getDefaultToolkit().getSystemClipboard().setContents(sel,null);

System.out.println("File to upload:"+ sel);
robot = new Robot();
robot.keyPress(KeyEvent.VK_CONTROL);
robot.keyPress(KeyEvent.VK_V);
robot.keyRelease(KeyEvent.VK_CONTROL);
robot.keyRelease(KeyEvent.VK_V);
wait(3);            
robot.keyPress(KeyEvent.VK_ENTER);
robot.keyRelease(KeyEvent.VK_ENTER);
okBtn.click();
} catch (AWTException e) {
e.printStackTrace();
}

问题是,我的代码打开了所有窗口,但它没有/无法在操作系统对话框中放置正确的文件路径,因此最终测试失败。请帮忙

单击导入按钮后添加此代码。还有一个问题,在模态对话框打开后,哪个按钮像打开/取消一样聚焦。添加模态对话框的屏幕截图以获得更好的答案

     setClipboardData("C:\\excelFiles");
     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);
     robot.delay(5000);

     public static void setClipboardData(String string) 
    {
       StringSelection StrSelect = new StringSelection(string);
       Toolkit.getDefaultToolkit().getSystemClipboard().setContents(StrSelect, null);
    }