我正在通过 MTM 在代理机器上运行编码的 UI 测试用例。对于每次运行,测试结果都会在控制器机器中生成,如下面的屏幕截图所示。
如您所见,每次运行都会在控制器 AppData > local > VSTQT > QTController > run_number_folder 文件夹中生成以上两个文件夹
我只需要 Results 文件夹,并且我想在每次运行完成后删除 Deployment 文件夹。
有没有办法做到这一点?
注意:我正在使用测试代理和测试控制器 2013 更新 5
在测试的代码中,TestContext
所有 Coded UI 测试都使用它包含几个目录字段。该DeploymentDirectory
字段似乎是您需要的字段。
我认为您不能一次性删除此目录及其所有内容,因为正如您在评论中所写的那样,它将被部分测试套件打开并使用。您应该能够扫描其文件和子目录并一一删除其中的大部分,跳过任何已经在使用的。
另一种可能性是创建一个清理脚本,该脚本将从.testsettings
解决方案中文件的“设置和清理脚本”部分调用。如上所述,某些部分可能不会删除,因为它们已经在使用中。
由于您正在运行编码的 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