有人知道使用WebDriver创建整页截图的方法吗?
我希望如果我的某个测试无法在浏览器关闭之前创建完整页面(甚至是屏幕上不可见的部分)截图并将其保存在共享位置。
此外,如果可以,我想将结果输出到Jenkins控制台日志。
谢谢!
答案 0 :(得分:0)
您可以在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/
答案 1 :(得分:0)
您可以使用Snagit执行整页截图。更多信息请访问:https://www.techsmith.com/tutorial-snagit-documentation.html
首先,您需要启动Snagit服务器,然后按照文档进行操作。