Как автоматически удалить результаты теста в контроллере 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