如何在C#中通过Selenium在Saucelabs测试中将图像上传到网页?

时间:2014-07-25 07:30:10

标签: c# selenium webdriver saucelabs

我必须将任何图像上传到网页以创建在线商店以进行测试。我必须点击按钮进行上传,之后我必须提供文件目录,但我无法提供本地目录,因为测试在Saucelabs上的VM上运行。如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

使用LocalFileDetector课程。您的代码将如下所示:

// WARNING!! Untested code written from memory, without benefit of an IDE.
// May not work exactly correctly or even compile without modification. 
// Assume driver is a properly instantiated IWebDriver object, which is
// to be used with a remote service (including SauceLabs or similar).
IAllowsFileDetection fileDetectionDriver = driver as IAllowsFileDetection;
fileDetectionDriver.FileDetector = new LocalFileDetector();

IWebElement fileElement = driver.FindElement(By.Id("idOfFileInputElement"));
fileElement.SendKeys(@"C:\path\to\local.file");

通过设置文件检测器,SendKeys方法将首先将文件从本地系统上载到实际运行代码的远程计算机。然后SendKeys将使用远程计算机上的本地文件路径在<input>元素中设置文件。