2017-05-21 99 views
1

我想對使用robotframework的web上傳文件按鈕進行測試,但是我找不到實現它的方法。在Robot Framework中上傳文件f

具體地說,我使用這個網絡作爲一個例子:

http://www.zamzar.com/ 

這是上傳按鈕的屬性:

<input id="inputFile" class="bodyBig" type="file" name="file_1" size="12" 
style="position: absolute; display: block; opacity: 0; z-index: 0;"> 

如我的文檔中看到的,我使用Choose File,但我得到在Windows彈出窗口,但它打開但文件沒有被選中:

Windows pop-up

我的測試用例是這樣的:

*** Settings *** 
Suite Setup  Test Setup Open Browser 
Suite Teardown Test Teardown Close Browser 
Resource   SeleniumKeywords.tsv 

*** Test Cases *** 
Select file typing path 
File Should Exist C:${/}Users${/}MADI${/}Desktop${/}image.bmp 
Wait Until Page Contains Element id=inputFile 
Choose File id=inputFile C:${/}Users${/}MADI${/}Desktop${/}image.bmp 
Select From List toExtensionSel jpg 
Input Text toEmail [email protected] 
Click Button uploadButton 
Sleep 10 

文件存在,它是在正確的位置,你知道我需要什麼,以獲取文件上傳,以改變?

謝謝你在前進,最好regards.-

+0

你的意思是「在Windows彈出窗口中打開」?你是說文件對話框出現,但你不能與它進行交互?或者你期待它出現,但它不是? –

+0

我的意思是文件對話框出現,但我無法與它交互,也許這個圖像有點幫助:http://i.imgur.com/ehrRQQm.gif – DiegoM

回答

1

當你點擊「選擇文件」按鈕,將顯示一個窗口,我們可以實現自動化。所以我們有幾個方法來解決這個問題。

  1. 使用AutoIt工具可以自動化Windows應用程序。瞭解並在那裏應用。
  2. 使用javascript執行程序。正如您所看到的,我們可以拖放選擇文件下方的任何文件。檢查DOM拖放文件時發生了什麼。在項目級別放置一個文件,並檢查我們如何在那裏應用。

讓我知道是否有任何問題。

2

對於上傳文件,您無需擔心窗口彈出。只有在手動上傳文件時纔會顯示Windows彈出窗口。

所以,當你在模擬通過自動化代碼相同的使用下面的代碼格式

choose file ${xpath} ${absolute_file_path} 

如果選擇的文件是你從selenium2libary進口的關鍵字,$ {的XPath}是上傳的XPath的你的情況文件中的元素是

xpath=//input[@id='inputFile'] 

和$ {} absolute_file_path是,你要上傳的文件,文件名的文件路徑。

${absolute_file_path} C:\Users\MADI\Desktop\image.bmp 

如果您使用單獨的資源文件來定義代碼中使用的變量。

+0

你的第一個代碼示例似乎有一個複製/粘貼錯誤。重複相同的文本(「選擇文件$ {xpath} $ {absolute_file_path}選擇文件...」) –