Как загрузить изображение на веб-страницу в тесте Saucelabs от Selenium в c#?



Я должен загрузить любое изображение на веб-страницу, чтобы создать интернет-магазин для перехода на тест. Я должен нажать на кнопку для загрузки после этого я должен дать каталог файла, но я не могу дать локальный каталог, потому что тест выполняется на виртуальной машине на Saucelabs. Как решить эту проблему?

655   1  

1 ответ:

Используйте класс 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>, используя локальный путь к файлу на удаленной машине.

Comments

    Ничего не найдено.