Загрузка файла в веб-драйвере Selen с использованием Autoit в C#
У меня есть сценарий, где мне нужно загрузить файл Excel с использованием селена. Для этого я использую Autoit(как пакет nuget для Visual studio). Когда я использую приведенный ниже код, я могу загрузить файл в свое приложение, но я должен использовать путь к файлу в качестве моего активного каталога, а не локальный компьютер.
AutoItX.WinWaitActive("Open");
AutoItX.ControlFocus("Open", "", "Edit1");
AutoItX.ControlSetText("Open", "", "Edit1", "D:\\Perseus\\V2-ModelUpdate.xlsm");
AutoItX.ControlClick("Open", "", "Button1");
Мое требование... когда я запускаю свой сценарий селена, файл Excel должен выбираться из активного каталога TFS, а не с моего локального компьютера, поскольку мы интегрируемся с CI. Как только сборка будет успешной, сценарий селена должен быть пройден. пожалуйста, помогите мне здесь.
3 ответа
Это для C#/ c Sharp Сначала вам нужно нажать кнопку выбора файла, чтобы загрузить изображение. Затем используйте следующий код:
AutoItX3 autoIt = new AutoItX3();
autoIt.WinActivate("Open"); // Window name to select a file
autoIt.Send(@"C:\Users\XXXX\Desktop\at.png"); // file path
autoIt.Send("{Enter}");`
Я нашел решение для этого, так как Autoit использует другой протокол по сравнению с Selenium и не поддерживается в BrowserStack Automate. Поэтому я использовал RemoteWebDriver вместо autoit для этого требования, и он работает нормально. Благодарю.
[TestFixture]
public class FileUpload
{
[Test]
public void TestMethod()
{
IWebDriver driver = new FirefoxDriver();
driver.Navigate().GoToUrl("https://smallpdf.com/pdf-to-jpg");
driver.FindElement(By.XPath("//button[@class='l3tlg0-0 hrcxSS']")).Click();
Thread.Sleep(4000);
Runtime.getRuntime().exec(@"C:\Users\Bhagya.HS\Documents.FileUpload.exe");
}
}