C# 使用c将Selenium中的屏幕截图图像文件名插入XML#

C# 使用c将Selenium中的屏幕截图图像文件名插入XML#,c#,xml,selenium-webdriver,C#,Xml,Selenium Webdriver,我有一个定制的HTML(通过XML/XSLT创建)测试状态报告,它基本上列出了执行的自动化脚本的步骤、结果和结果注释。由于我还是编程新手,我想知道获取捕获的屏幕截图(使用Selenium中的ITakesScreenshot)文件名并将该文件名插入XML节点的最佳方法是什么? 我下面的代码用于截图: public static void takeScreenShot() { string currentDate = DateTime.Now.ToString("ddd,

我有一个定制的HTML(通过XML/XSLT创建)测试状态报告,它基本上列出了执行的自动化脚本的步骤、结果和结果注释。由于我还是编程新手,我想知道获取捕获的屏幕截图(使用Selenium中的ITakesScreenshot)文件名并将该文件名插入XML节点的最佳方法是什么? 我下面的代码用于截图:

  public static void takeScreenShot()
    {
        string currentDate = DateTime.Now.ToString("ddd, ddMMMyyyy HHmm");
        ITakesScreenshot screenshotHandler = Driver as ITakesScreenshot;
        Screenshot screenshot = screenshotHandler.GetScreenshot();
        string dir = @"C:\Documents\";
        screenshot.SaveAsFile(dir + currentDate + fileName + ".png", ImageFormat.Png);
    }
下面是我在XML节点上插入的值:

 private static void InsertValues(string ID, string Step, string Result, string Comment)
    {

        var xmlDoc = XDocument.Load(xmltoLoad);

        var newElement = new XElement("TestCase",  new XAttribute("Id", ID),
                           new XElement("Screenshot", ""),
                           new XElement("Step", Step),
                           new XElement("Result", Result),
                           new XElement("Comments", Comment));
        xmlDoc.Element("TestResults").Add(newElement);
        xmlDoc.Save(xmltoLoad);

    }
我试着去做

string filename = screenshot.SaveAsFile(dir+currentDate+fileName+".png", ImageFormat.png);
但我收到一个错误,void不能转换为string,我理解这一点。有什么我可以做的吗?或者有其他的方法吗

.SaveAsFile()
不返回任何内容,因此无法返回到
文件名中。有什么理由你不能这么做吗

string filename = dir + currentDate + fileName + ".png";
screenshot.SaveAsFile(filename, ImageFormat.png);
.SaveAsFile()
不返回任何内容,因此无法返回到
文件名中。有什么理由你不能这么做吗

string filename = dir + currentDate + fileName + ".png";
screenshot.SaveAsFile(filename, ImageFormat.png);