我有一个自定义的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转换为字符串,我理解。有什么我可以做或有任何其他方法吗?
答案 0 :(得分:2)
class Cuboid {
constructor(length, width, height) {
this.length = length || 0;
this.width = width || this.length;
this.height = height || this.width;
}
// ....
没有返回任何内容,因此无法将内容返回.SaveAsFile()
。有什么理由你不能做到
filename