如何在visual studio测试控制器中自动删除测试结果

时间:2018-03-28 09:53:26

标签: c# coded-ui-tests microsoft-test-manager test-results

我正在通过MTM在代理机器上运行编码的UI测试用例。对于每次运行,测试结果都会在控制器机器中生成,如下面的屏幕截图所示。 enter image description here

正如您所看到的,每次运行都会在控制器AppData中生成以上两个文件夹>  本地> VSTQT> QTController> run_number_folder文件夹

我只需要结果文件夹,我想在每次运行完成后删除部署文件夹。

有办法吗?

注意:我正在使用测试代理和测试控制器2013 Update 5

2 个答案:

答案 0 :(得分:3)

在测试代码中,所有Coded UI测试使用的TestContext包含多个目录字段。 DeploymentDirectory字段似乎是您需要的字段。

我认为您不能一次性删除此目录及其所有内容,因为当您在注释中写入时,它将被部分测试套件打开并使用。您应该能够扫描其文件和子目录,并逐个删除其中的大部分内容,跳过已经使用过的任何文件和子目录。

另一种可能性是创建一个清理脚本,该脚本将从"安装和清理脚本"解决方案中.testsettings文件的一部分。如上所述,某些部分可能无法删除,因为它们已在使用中。

答案 1 :(得分:0)

由于您正在运行编码的UI测试,因此您可以在最后找到一些代码来找到您的部署目录并将其删除。因为它表明你了解你的用户,直到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