C # селен с загрузкой файла в тестовом проекте - PullRequest
0 голосов
/ 01 июля 2019

В моем проекте C # MSTest я достиг автоматизации загрузки файлов, перейдя по определенному URL-адресу, введя некоторые связанные сведения, а затем успешно нажав кнопку загрузки файла.

Теперь в моем конвейере Azure Devops я хочуполучите этот загруженный файл с помощью автоматического сценария проекта MSTest в селене.

  1. Ниже приведен код моего проекта, который хорошо работает на локальном

        string downloadFolderPath = @"D:\";
        var chromeOptions = new ChromeOptions();
        chromeOptions.AddArgument("headless");
        chromeOptions.AddUserProfilePreference("download.default_directory", downloadFolderPath);
        chromeOptions.AddUserProfilePreference("disable-popup-blocking", "true");using (IWebDriver webDriver = new ChromeDriver(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), chromeOptions))
        {
            webDriver.Navigate().GoToUrl("https://filepath");
    
            webDriver.FindElement(By.XPath("/html/body/div[2]/div/div[1]/div[2]/div[2]/div[4]/button")).Click();
    
            IWebElement webElementSearchButton = webDriver.FindElement(By.XPath("//*[@id='06056e539fd609849f5d3a6afa56883320190624114434']/div/div/div[2]/button"));
            IJavaScriptExecutor javaScriptExecutor = (IJavaScriptExecutor)webDriver;
            javaScriptExecutor.ExecuteScript("arguments[0].click()", webElementSearchButton);
    
            for (int i = 0; i < 10; i++)
            {
                if (File.Exists(Path.Combine(downloadFolderPath, @"File.zip")))
                {
                    break;
                }
                Task.Delay(10000).Wait();
            }
            Assert.IsTrue(File.Exists(Path.Combine(downloadFolderPath, @"File.zip")));
        }
    
  2. Сборка Azure Devops Build

  3. Выпуск Azure Devops Release

При использовании 'я получил ошибку'безголовый ».И меня беспокоит то, что я должен сделать для получения загруженного файла. Errorlog

Если я не использую режим «без головы» в chromeoption, мой тест пройден, но в этом случае как я могу получить файл, загруженный этим тестом.

...