我的C#webdriver自動化腳本嘗試使用Browse按鈕(它是Silverlight對象)上載文件。請讓我知道如何使用webdriver上傳文件。C#Webdriver - 上傳文件(Silverlight)
以下代碼適用於HTML文件上傳,但不適用於上述情況。
driver.FindElement(By.XPath("//input[@id='fileInput']"), WaitTime).SendKeys("\\\\...\\....\\Test.txt");
我的C#webdriver自動化腳本嘗試使用Browse按鈕(它是Silverlight對象)上載文件。請讓我知道如何使用webdriver上傳文件。C#Webdriver - 上傳文件(Silverlight)
以下代碼適用於HTML文件上傳,但不適用於上述情況。
driver.FindElement(By.XPath("//input[@id='fileInput']"), WaitTime).SendKeys("\\\\...\\....\\Test.txt");
WebDriver中的文件上傳方法旨在與<input type='file'>
元素配合使用。爲了處理上傳文件(包括Silverlight和Flash)的非HTML機制,您需要調查其他庫。
明知有此爲Java小應用程序的工具,我挖,發現這些:
There is a tool for using Selenium RC with Silverlight!不知道如何以及它的實際工作,但你可以試試看。是的,我知道這只是Selenium RC,但你可以用WebDriverBackedSelenium
來嘗試...
Scott Hanselman的博客(非常可讀!) - 「濫用」Silverlight可以運行Scriptable
方法。它是爲Selenium IDE編寫的,但同樣適用於WebDriver
。
A testing framework for Silverlight.由Microsoft。硒是爲網頁,嘗試一些Silverlight的魔術。
謝謝Slanec!我會試一試。 – RSV
元素是如何工作和外觀的?是否可以通過Javascript訪問它的任何部分?你可以點擊元素,然後盲目輸入文件的名稱並按Enter?這很醜陋,但可以工作。 –
嗨Slanec,這只是一個「瀏覽...」按鈕,SilverLight不接受JavaScript。無法單擊瀏覽按鈕,我無法輸入文件路徑。 – RSV
這就是我的意思。單擊瀏覽按鈕,然後模擬輸入文件路徑,然後按Enter鍵。您可以使用['SendKeys'](http://msdn.microsoft.com/zh-cn/library/system.windows.forms.sendkeys.aspx)類來模擬鍵入。 –