2012-06-05 56 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