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);
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章