Вот код:
Thread.Sleep(4000);
ITakesScreenshot ts = (ITakesScreenshot)driver;
Screenshot screenshot = ts.GetScreenshot();
string pth = System.Reflection.Assembly.GetCallingAssembly().CodeBase;
//var dir = System.IO.Path.GetDirectoryName(pth).Replace("\\bin\\Debug", "");
//dir = dir.Replace("file:\\", "");
var dir = AppDomain.CurrentDomain.BaseDirectory.Replace("\\bin\\Debug", "");
DirectoryInfo di = Directory.CreateDirectory(dir + "\\Execution_Screenshots\\");
string finalpth = pth.Substring(0, pth.LastIndexOf("bin")) + "Execution_Screenshots/" + screenShotName+DateTime.Now.ToString("dd-MM-yyyy-HH-mm-ss-fff") + ".jpg";
localpath = new Uri(finalpth).LocalPath;
screenshot.SaveAsFile(localpath, ScreenshotImageFormat.Jpeg);
Этот код работает, когда я запускаю свои тесты локально. Работает, когда я захожу на удаленный компьютер и запускаю там VSTest с помощью CLI. Но когда я запускал это из devops, используя задачу агента VSTest, папка 'Execution_Screenshots' создается внутри папки Debug. Заменить не работает. Почему бы это не сработало?