Я создаю скриншоты, используя SpecFlow и Selenium, выполняя тестовый прогон xUnit с задачей VSTS Visual Studio Test
:
Я настроил VS Test task
со значениями параметров по умолчанию, поэтому (я полагаю) он просто находит любые библиотеки DLL и запускает их с помощью программы запуска xUnit.
После запуска в отчете о тестировании для конкретной версии отображаются результаты теста, как и предполагалось. Однако он не показывает сгенерированные снимки экрана.
Я пытаюсь прикрепить скриншоты, созданные во время тестов, с помощью этого кода:
string path = System.IO.Directory.GetCurrentDirectory() + "TestScreenshot.png";
OpenQA.Selenium.Screenshot ss = ((OpenQA.Selenium.ITakesScreenshot)Context.Driver).GetScreenshot();
ss.SaveAsFile(path);
var testContext = ScenarioContext.Current.ScenarioContainer.Resolve<Microsoft.VisualStudio.TestTools.UnitTesting.TestContext>();
testContext.AddResultFile(path);
Но это не отображается в разделе attachments
протокола испытаний.
Увидев этот пост Я подумал, что, возможно, мне нужно сохранить скриншоты в определенной «специальной папке», но я не знаю, какую папку использовать и как они будут расположены, чтобы указывать к какому тесту они прикреплены.
Посмотрев эту документацию Я подумал, что все, что мне нужно, - это задача Publish Test Results
, чтобы указать, где хранятся тестовые вложения, но это выдает ошибку и жалуется на отсутствие файлов TEST-*.xml
. найденный. Я специально не настраиваю VS Test task
для генерации TEST-*.xml
файлов, потому что результаты теста, похоже, обнаруживаются автоматически.
Насколько я вижу, результат, который я получаю, такой же, как и в этом отчете об ошибке , связанном с этой SO-статьей , хотя исправление должно быть живым.
Как я могу публиковать / загружать / сообщать о своих скриншотах, чтобы они были видны как часть отчета о тестировании в конце моего конвейера выпуска?