Как автоматически удалить результаты теста в контроллере Visual Studio

Я запускаю кодированные тесты пользовательского интерфейса в агентской машине через MTM. И для каждого прогона результаты теста генерируются на контроллере, как вы можете видеть на скриншоте ниже.

Как вы можете видеть, каждый запуск генерирует две выше папки в папке AppData контроллера> local > VSTQT > QTController > run_number_folder

Мне нужна только папка "Результаты", и я хочу удалить папку "Развертывание" после завершения каждого запуска.

Есть ли способ сделать это?

Примечание. Я использую Test Agent и Test Controller 2013 с обновлением 5

2 ответа

Решение

В коде тестов TestContext который используется всеми тестами Coded UI, содержит несколько полей каталога. DeploymentDirectory поле, как представляется, то, что вам нужно.

Я не думаю, что вы можете удалить этот каталог и все его содержимое за один раз, потому что, как вы пишете в комментарии, он будет открыт и используется частью набора тестов. Вы должны иметь возможность сканировать его файлы и подкаталоги и удалять большинство из них по очереди, пропуская все, что уже используется.

Другой возможностью является создание сценария очистки, который будет вызываться из части "Сценарии установки и очистки" .testsettings файл в решении. Как указано выше, некоторые части могут не удаляться, так как они уже используются.

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

Если вы запускаете свои тесты из сборки / выпуска, вы можете добавить скрипт powershell после теста, чтобы удалить каталог развертывания.

Чтобы найти каталог:

string[] dirs = Directory.GetDirectories(@"c:\users\user_name\appdata\local\vseqt\qtcontroller\", "deployment", System.IO.SearchOption.AllDirectories);

foreach(string dir in dirs)
{
   Directory.Delete(dir);
}

Вы также можете определить свою политику хранения для результатов. Пожалуйста, смотрите https://docs.microsoft.com/en-us/vsts/manual-test/getting-started/how-long-to-keep-test-results?view=vsts

Другие вопросы по тегам