【发布时间】:2015-05-07 18:40:22
【问题描述】:
有人知道使用 WebDriver 创建整页屏幕截图的方法吗?
如果我的一个测试未能在浏览器关闭之前创建一个完整的页面(甚至是屏幕上不可见的部分)屏幕截图并将其保存在共享位置。
另外,如果可能的话,我想将结果输出到 Jenkins 控制台日志。
谢谢!
【问题讨论】:
标签: selenium selenium-webdriver webdriver
有人知道使用 WebDriver 创建整页屏幕截图的方法吗?
如果我的一个测试未能在浏览器关闭之前创建一个完整的页面(甚至是屏幕上不可见的部分)屏幕截图并将其保存在共享位置。
另外,如果可能的话,我想将结果输出到 Jenkins 控制台日志。
谢谢!
【问题讨论】:
标签: selenium selenium-webdriver webdriver
您可以为 Firefox 使用以下扩展:https://addons.mozilla.org/nl/firefox/addon/fireshot/
您可以在 %APPDATA%\Mozilla\Firefox\Profiles\
中找到它的 javascript 代码扩展提供了将屏幕截图复制到剪贴板的功能。 您可以使用它的 JS 方法来执行屏幕截图。之后,您可以从剪贴板中检索图像并将其保存为共享位置上的文件。
Image image = default(Image);
if (Clipboard.GetDataObject() != null)
{
IDataObject data = Clipboard.GetDataObject();
if (data.GetDataPresent(DataFormats.Bitmap))
{
Image image = (Image)data.GetData(DataFormats.Bitmap,true);
image.Save("image.jpg",System.Drawing.Imaging.ImageFormat.Jpeg);
}
else
{
Console.WriteLine("The Data In Clipboard is not as image format");
}
}
else
{
Console.WriteLine("The Clipboard was empty");
}
string newImageName = string.Concat(@"C:\SampleSharedFolder\", Guid.NewGuid());
image.Save(newImageName );
Console.WriteLine("Image save location: {0}", newImageName);
将结果填充到控制台后,很容易将其输出回 Jenkins。您可以在我的文章中找到更多信息:http://automatetheplanet.com/output-mstest-tests-logs-jenkins-console-log/
【讨论】:
您可以使用 Snagit 执行整页截图。更多信息在这里:https://www.techsmith.com/tutorial-snagit-documentation.html
首先你需要启动 Snagit 服务器,然后按照文档进行操作。
【讨论】: