我用我的WebDriver和FireFox。WebDriver /打開上傳文件窗口時卡住
我有一個elemnt:// input [@ class =「uploadFiles」],當我點擊它時: driver.findElement(By.xpath(「// input [@ class =」uploadFiles「]」 )),打開一個上傳文件(Windows操作系統窗口)的窗口,但測試不會繼續到下一行,並且卡住。
任何幫助?
我用我的WebDriver和FireFox。WebDriver /打開上傳文件窗口時卡住
我有一個elemnt:// input [@ class =「uploadFiles」],當我點擊它時: driver.findElement(By.xpath(「// input [@ class =」uploadFiles「]」 )),打開一個上傳文件(Windows操作系統窗口)的窗口,但測試不會繼續到下一行,並且卡住。
任何幫助?
Webdriver不與os級別的對話框交互,這就是它不會繼續到下一行的原因。這裏有些東西可以幫助你:http://code.google.com/p/selenium/wiki/FrequentlyAskedQuestions#Q:_Does_WebDriver_support_file_uploads?
不,你不能用的webdriver做得一樣niharika_neo的答案,但你接下來可以做的:
string filepath = "my local path";
_driver.FindElement(By.Id("attachments")).SendKeys(filepath);
_driver.FindElement(By.Id("attachments")).SendKeys(Keys.Return);
不能與OS級別的Windows直接交互。你可以通過niharika_neo給出的路徑,否則你可以使用Auto IT工具來處理操作系統級別的窗口。最好的選擇是使用自動IT工具。
我遇到了與FF相同的問題,然後我發現它是特定於我正在使用的FF版本。我在FF 11上安裝並運行了測試,並且我能夠成功測試他的測試。嘗試更改您使用的FF版本。
不要喲意思是我會做:_driver.FindElement(By.xpath( 「//input[@class="uploadFiles")]).SendKeys(filepath); _driver.FindElement(By.xpath(」/ /input[@class="uploadFiles")]).SendKeys(Keys.Return); 因爲當我這樣做時,窗戶根本無法打開 –
@Adam Sh您不需要打開窗口上傳,您需要傳遞完整的文件名,然後上傳您的文件。 –
但我的線不是一條窗戶線!它是一個網站行,當我進入它時,它打開一個窗口行 –