创建FullPage屏幕截图WebDriver

时间:2015-05-07 18:40:22

标签: selenium selenium-webdriver webdriver

有人知道使用WebDriver创建整页截图的方法吗?

我希望如果我的某个测试无法在浏览器关闭之前创建完整页面(甚至是屏幕上不可见的部分)截图并将其保存在共享位置。

此外,如果可以,我想将结果输出到Jenkins控制台日志。

谢谢!

2 个答案:

答案 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服务器,然后按照文档进行操作。