2016-08-23 89 views
0

我需要模擬文件下載鉻瀏覽器和下面的鏈接指向我正在尋找的解決方案。模擬文件下載與鉻瀏覽器上的selenium元素與reactid

http://ardesco.lazerycode.com/index.php/2012/07/how-to-download-files-with-selenium-and-why-you-shouldnt/

https://github.com/Ardesco/Ebselen/blob/master/ebselen-core/src/main/java/com/lazerycode/ebselen/customhandlers/FileDownloader.java

我不能夠使用這個代碼,因爲它需要的屬性,並在我的情況按鈕具有觸發終點呼叫reactid。請參閱附件屏幕截圖。

有人可以告訴我需要做什麼才能使上面的鏈接代碼工作?

在此先感謝。

問候, 維克拉姆enter image description here

回答

1

要能夠下載鏈接,需要找到獲取鏈接的方法。要做到這一點的最佳方式是與編寫代碼的開發人員進行交流,並瞭解它的工作原理。

點擊按鈕會觸發某種JavaScript事件,您需要知道該事件是什麼,以便您可以複製它以獲取下載鏈接。

請記住,這可能不是一個值得在Selenium中執行的測試,它可能是JavaScript領域的單元測試。

+0

爲什麼在開發世界中引入單元測試或測試文化非常困難:(這應該是所有CS課程的第一章 – vikramvi

1

既然你無法從HTML中下載的文件的鏈接,並確認,因爲在你的情況https的狀態代碼 - 下載發生由JavaScript方法

的只有在你的情況下驗證下載的方法是實際單擊元素並驗證文件是否已下載。

您還需要將ChromeDriver中的功能設置爲無需詢問即可下載到默認目錄。 Chrome Web Driver download files

+0

感謝您的回答,您可以請分享一個例子來驗證這個特定場景中的http狀態代碼嗎? – vikramvi

+1

@vikramvi 在這種情況下,您無法通過狀態代碼進行驗證!請再讀一遍我的回答。 –