2017-05-09 139 views
0

我在這裏看到了一些與此主題相關的問題,並且其他問題似乎總是包含RC/WD解決方案。這是針對SELENIUM IDE的,而不是WD/RC的實現。使用Selenium IDE進行文件上傳(不是Selenium WD/RC)

我意識到我們只需要設置存儲文件路徑的元素的值,但我看到了衝突的方式。

我存儲的文件路徑的字符串元素看起來像這樣的督察:

輸入類型=「文件」 NAME =「StdConditionsFile」 ID =「pdfApp」

如果我得到元素的Xpath的它看起來像這樣:

// * [@ ID = 「pdfApp」]

我使用下面的代碼來分配file.path:

  • 命令:類型
  • 目標:ID = idOfFileInput
  • 值:/全/路徑/到/ uploadfile

,但我有沒有運氣。我嘗試使用元素的名稱,xpath和id,但是file.path永遠不會被分配。

更新: 我在找到一些進展,但它可能會誤導我是否可以實際做到這一點。我沒有使用'type'作爲命令,而是尋找另一個備用並找到'setElementAttribute'。如果我將該命令與upload.element的Id,名稱或XPath一起使用,則可以看到我實際上正在設置該值,但是有一個問題存在。

後,我運行任何這3個命令我看到在檢查的:

輸入名稱= 「StdConditionsFile」 ID = 「pdfApp」 值=「C:\文件\文件名\全\路徑\ .PDF 「的風格= 」「 類型= 」文件「

如果是這樣運行的命令

輸入名稱= 」StdConditionsFile「 ID = 」pdfApp「 樣式之前= 」「 類型=」 文件「

,但是當您查看DOM屬性時,名爲'value'的屬性爲「」或null。

任何人都有這方面的成功嗎?

回答

0

我能用AutoIt做到這一點。我在AutoIt中創建了一個腳本,我必須在Selenium IDE中啓動測試/測試套件之前啓動它。 AutoIt腳本會在查找「文件上載」窗口時循環。具體步驟是:

  1. 創建循環,並找了一個名爲窗口的AutoIt腳本「文件上傳」
  2. 開始的AutoIt腳本
  3. 入門硒IDE的測試腳本
  4. 硒IDE腳本會做的東西,點擊網頁上的「瀏覽」按鈕並暫停。
  5. 循環AutoIt腳本將會看到上一步從Selenium IDE生成的「File Upload」窗口,並在對話窗口中輸入上傳文件的路徑(瀏覽 - >文件上傳)
  6. AutoIt會然後點擊「確定」並關閉上傳窗口
  7. Selenium IDE腳本會暫停並點擊網站上的「上傳」按鈕。
  8. 文件上傳! - 檢查!

測試/故障排除: 我用硒WD和硒的IDE,我用「的SendKeys」中的文件路徑進入該網站上上傳控制相同的指令。 Selenium IDE會說這個命令是成功的,但是你從來沒有看到網站的更新,並顯示出像WD這樣的路徑。因此,當您點擊上傳按鈕時,沒有文件上傳過。我在multipe機器上使用「Type」嘗試了這一點。這也不起作用,並且Selenium IDE中的命令顯示爲合格。我也使用在IDE中傳遞的setElementAttribute,但沒有工作。其他用戶說這項工作,但我還沒有看到它和AutoIt的確可行。