Где публиковать скриншоты SpecFlow / Selenium, созданные конвейером релиза в VSTS? - PullRequest
0 голосов
/ 07 ноября 2018

Я создаю скриншоты, используя 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-статьей , хотя исправление должно быть живым.

Как я могу публиковать / загружать / сообщать о своих скриншотах, чтобы они были видны как часть отчета о тестировании в конце моего конвейера выпуска?

1 Ответ

0 голосов
/ 24 июня 2019

Если вы используете тестовый провайдер xUnit, то, согласно этой теме, он еще не имеет TestContext с xunit.net. https://github.com/xunit/xunit/issues/621

...