В моем проекте C # MSTest я достиг автоматизации загрузки файлов, перейдя по определенному URL-адресу, введя некоторые связанные сведения, а затем успешно нажав кнопку загрузки файла.
Теперь в моем конвейере Azure Devops я хочуполучите этот загруженный файл с помощью автоматического сценария проекта MSTest в селене.
Ниже приведен код моего проекта, который хорошо работает на локальном
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")));
}
Сборка Azure Devops ![Build](https://i.stack.imgur.com/XZaXC.png)
- Выпуск Azure Devops
![Release](https://i.stack.imgur.com/79ONG.png)
При использовании 'я получил ошибку'безголовый ».И меня беспокоит то, что я должен сделать для получения загруженного файла. Errorlog
Если я не использую режим «без головы» в chromeoption, мой тест пройден, но в этом случае как я могу получить файл, загруженный этим тестом.