Yan*_*iav 3 c# screenshot appium
我究竟做错了什么?我的主要问题是我收到错误说:
错误:不支持给定路径的格式
我想将项目本身保存在我已经创建的文件夹下的名称:Screenshots
public void TakeScreenShot()
{
string pth = System.Reflection.Assembly.GetCallingAssembly().CodeBase;
string actualPath = pth.Substring(0, pth.LastIndexOf("bin"));
string projectPath = new Uri(actualPath).LocalPath;
Screenshot ss = ((ITakesScreenshot)_driver).GetScreenshot();
string screenshot = ss.AsBase64EncodedString;
byte[] screenshotAsByteArray = ss.AsByteArray;
ss.SaveAsFile(projectPath+"Screenshots\\Drisha"+DateTime.Now.ToString()+".jpeg", ImageFormat.Jpeg);
}
Run Code Online (Sandbox Code Playgroud)
我不知道你的机器设置的文化,但我假设调用DateTime.Now.ToString()给你一些08/02/2017 11:41:30包含斜线和冒号的东西,因此不是一个有效的路径.
尝试在内部指定格式ToString()如下:
ss.SaveAsFile(projectPath+"Screenshots\\Drisha"+DateTime.Now.ToString("ddMMyyyyHHmmss")+".jpeg", ImageFormat.Jpeg);
Run Code Online (Sandbox Code Playgroud)
作为旁注,你不应该连接字符串来制作路径,而是使用Path.Combine.
ss.SaveAsFile(Path.Combine(projectPath, "Screenshots\\Drisha", DateTime.Now.ToString("ddMMyyyyHHmmss"), ".jpeg"), ImageFormat.Jpeg);
Run Code Online (Sandbox Code Playgroud)