我有一个简单的功能,可以在运行Xunit测试时截取屏幕截图。 测试很简单。
ITakesScreenshot screenshotHandler = PropertiesCollection.driver as ITakesScreenshot;
Screenshot screenshot = screenshotHandler.GetScreenshot();
screenshot.SaveAsFile(@"C:\Users\Slim\Screenshots\" + filename + ".png", ImageFormat.Png);
它有效,但我们正在使用VSTS,当其他人使用测试时,由于路径不再有效,它会中断。 C:\Users\Slim\Screenshots\
可以将代码的路径更改为本地具有文件的路径,但这当然不是好的做法:)
我曾尝试使用AppDomain.CurrentDomain.BaseDirectory,但没有运气。
ITakesScreenshot screenshotHandler = PropertiesCollection.driver as ITakesScreenshot;
Screenshot screenshot = screenshotHandler.GetScreenshot();
screenshot.SaveAsFile(AppDomain.CurrentDomain.BaseDirectory + //Screenshots//" + filename + ".png", ImageFormat.Png);
有什么好建议吗?
答案 0 :(得分:0)
您可以查看SpecialFolders enumeration。
它处理对程序数据,程序文件,应用程序数据等路径的访问。如果您使用特定于用户的文件夹(例如LocalApplicationData或RoamingApplicationData)分别映射到{,则会正确处理用户帐户。 {1}}和C:\users\MyUser\AppData\Local
。
另一方面,你有例如CommonApplicationData,它通常映射到C:\users\MyUser\AppData\Local\Roaming
,这对所有用户来说都很常见。
所以,总而言之,你可以这样做:
C:\ProgramData