Заменить не работает в 'AppDomain.CurrentDomain.BaseDirectory.Replace ("\\ bin \\ Debug", ""); " только когда я запускаю с помощью агента VSTest от Azure Devops. Почему? - PullRequest
0 голосов
/ 04 мая 2020

Вот код:

            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. Заменить не работает. Почему бы это не сработало?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...