我们的TFS构建服务器有大约50%的几率出现以下错误:
Exception Message: Access to the path 'C:\Builds\5673\Company\QA_Web_Tests\bin\WebDrivers\chromedriver.exe' is denied. (type UnauthorizedAccessException)
Exception Stack Trace: at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.File.InternalDelete(String path, Boolean checkHost)
at Microsoft.TeamFoundation.Common.FileSpec.DeleteFile(String path, Boolean throwExceptionOnFailure)
at Microsoft.TeamFoundation.Common.FileSpec.DeleteDirectoryInternal(String path)
at Microsoft.TeamFoundation.Common.FileSpec.DeleteDirectoryInternal(String path)
at Microsoft.TeamFoundation.Common.FileSpec.DeleteDirectory(String path, Boolean recursive)
at Microsoft.TeamFoundation.Build.Workflow.Activities.DeleteDirectory.Execute(CodeActivityContext context)
at System.Activities.CodeActivity.InternalExecute(ActivityInstance instance, ActivityExecutor executor, BookmarkManager bookmarkManager)
at System.Activities.Runtime.ActivityExecutor.ExecuteActivityWorkItem.ExecuteBody(ActivityExecutor executor, BookmarkManager bookmarkManager, Location resultLocation)
这是一个启用了MSTest并具有并行测试功能的4核处理器。
一种解决方法是在构建之间重新启动服务器。但是,当我们想要每天运行多次测试时,这将是繁琐的。
有其他人遇到过这个问题吗?你知道如何修复吗?谢谢。
这是我的清理方法:
public void Cleanup()
{
WebDriver.Quit();
Console.WriteLine(@"[console] TEST END. Datetime: " + DateTime.Now);
_stopWatch.Stop();
Console.WriteLine(@"[console] TEST DURATION: " + _stopWatch.Elapsed);
}