【问题标题】:Create FullPage Screenshot WebDriver创建全页截图 WebDriver
【发布时间】:2015-05-07 18:40:22
【问题描述】:

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

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

另外,如果可能的话,我想将结果输出到 Jenkins 控制台日志。

谢谢!

【问题讨论】:

标签: selenium selenium-webdriver webdriver


【解决方案1】:

您可以为 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/

【讨论】:

    【解决方案2】:

    您可以使用 Snagit 执行整页截图。更多信息在这里:https://www.techsmith.com/tutorial-snagit-documentation.html

    首先你需要启动 Snagit 服务器,然后按照文档进行操作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-02-12
      • 2023-03-09
      • 2020-01-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多