java + selenium测试框架(之上传下载) 版本演化五-二

java + selenium测试框架(之上传下载) 版本演化五-二

在web项目中,上传和下载控件有的使用插件进行了封装,插件中甚至包含flash等。有的则做的比较简单,使用selenium的键盘事件辅助就能搞定。

在之前的版本中,采用了 AutoIt 工具来辅助控制弹出的对话框。其实,因为弹出框会自动的把焦点放到,保存,确定,这样的控件上,所以可以使用键盘事件来控制。

整理了网上的两种上传的方法(selenium的使用,哪个好使,还要自己试一试):

方法一

driver.findElement(By.xpath("//input[@type='file']"))).sendKeys("C:\\testContent.pdf");

方法二

最开始的输入是点击页面上的“上传”按钮,这样就可以打开“File Upload”输入框。

Actions action = new Actions(driver);
//IE下双击,FF下单击..
action.doubleClick(driver.findElements(By.xpath("//input[@type='file']")).get(0));
action.perform();

然后将文件的路径存到剪贴板上:

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

最后利用键盘事件Ctrl + V,粘贴文件路径,再按回车关掉File Upload输入框。

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);

你可能感兴趣的:(selenium,上传下载)