Загрузка файла в веб-драйвере 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");
            
        }
    }
Другие вопросы по тегам