2012-06-05 66 views
0

我的C#webdriver自動化腳本嘗試使用Browse按鈕(它是Silverlight對象)上載文件。請讓我知道如何使用webdriver上傳文件。C#Webdriver - 上傳文件(Silverlight)

以下代碼適用於HTML文件上傳,但不適用於上述情況。

driver.FindElement(By.XPath("//input[@id='fileInput']"), WaitTime).SendKeys("\\\\...\\....\\Test.txt"); 
+0

元素是如何工作和外觀的?是否可以通過Javascript訪問它的任何部分?你可以點擊元素,然後盲目輸入文件的名稱並按Enter?這很醜陋,但可以工作。 –

+0

嗨Slanec,這只是一個「瀏覽...」按鈕,SilverLight不接受JavaScript。無法單擊瀏覽按鈕,我無法輸入文件路徑。 – RSV

+0

這就是我的意思。單擊瀏覽按鈕,然後模擬輸入文件路徑,然後按Enter鍵。您可以使用['SendKeys'](http://msdn.microsoft.com/zh-cn/library/system.windows.forms.sendkeys.aspx)類來模擬鍵入。 –

回答

1

WebDriver中的文件上傳方法旨在與<input type='file'>元素配合使用。爲了處理上傳文件(包括Silverlight和Flash)的非HTML機制,您需要調查其他庫。

0

明知有此爲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的魔術。

+0

謝謝Slanec!我會試一試。 – RSV