当前位置: 首页 > 面试题库 >

WebdriverIO-拍摄整页截图

轩辕煌
2023-03-14
问题内容

我正在尝试使用WebdriverIO截取整个页面的屏幕截图。

我读过,最好的方法是使用WebdriverCSS增强我的WebdriverIO流。WebdriverCSS自动截图整个页面?

问题是WebdriverCSS对我不起作用。我认为是因为它尚未与兼容webdriverio@3.0.x

有什么办法可以使它起作用,或者可以使用其他解决方案?

我的代码:这是生产什么,但在回调中未定义的值

// Initialize WebdriverCSS for `client` instance
require('webdrivercss').init(driver, {
    // example options
    screenshotRoot: '../../screenshots',
    failedComparisonsRoot: '../../screenshots/diffs',
    misMatchTolerance: 0.05
});

// ...
// driver gets initialized and url opened
// ...

driver.webdrivercss('page', {
  name: 'body',
  elem: 'body'
}, function(err, res) {
  // here the values of err and res are always undefined
})
.saveScreenshot('../../screenshots/webdrivercsstest.png');
// the screenshot works, but it's not full page

!EDIT:
这是Chromium中的一个已知BUG,很可能不会修复。请参阅此链接以获取更多详细信息。


问题答案:

这可能有很多种方法,但是最直接的方法是通过 wdio屏幕快照 WebdriverIO插件。

  1. 安装插件: npm install --save-dev wdio-screenshot
  2. wdio.conf.jsplugings对象的文件中启用插件:plugins: { 'wdio-screenshot': {} }
  3. 在测试中,添加以下步骤( 对于文档(全屏截图 ):browser.saveDocumentScreenshot('<screenShotsPath>/screenshotName.png');

> 全页面截图看起来像 这样
一个Instagram的饲料尝试。( 出于明显原因,将屏幕截图留在了内联中

  • !Note-001: 如果您不希望屏幕截图看起来像这样,那么我建议您使用一些 waitUntil 来确保您的内容已 成功加载和呈现

  • !Note-002: wdio-screenshot支持3种类型的屏幕截图( 视口 (标准), 文档 (整页)和 元素 (针对元素))。



 类似资料:
  • 问题内容: 我知道以前是不可能的,但是现在有了以下更新: https://developers.google.com/web/updates/2017/04/devtools-release- notes#screenshots 使用Chrome开发工具似乎可以做到这一点。 现在可以在Java中使用Selenium吗? 问题答案: 要使用Java中的Selenium Webdriver进行此工作需

  • 可在游戏中等拍摄并保存任何场景。同时按下PS键和START键。 可从(照片)查看已保存的信息。 若要拍摄画面截图,需事先将PS Vita专用存储卡插入主机。 因画面或应用程序的状态,可能无法拍摄画面截图。

  • 嗨,我如何在Windows电脑上使用任何浏览器拍摄网页的完整屏幕截图? 每当我用PrintScreen截图时,它只截图显示页面,但我希望截图的高度为整页。我们能拍完整的截图吗,包括隐藏的八张? 抱歉我英语不好。 我有firefox和chrome。

  • 问题内容: 我想获得活动的“全页”屏幕截图。该视图包含一个RecyclerView,其中包含许多项。 我可以使用此功能拍摄当前视图的屏幕截图: 但是它仅包含我可以正常查看的项目(符合预期)。 截屏时,有什么方法可以使RecyclerView神奇地完整显示(一次显示所有项目)? 如果没有,我应该如何解决这个问题? 问题答案: 这是我的解决方案,当 所有项目的尺寸都相同 并且 只有一种类型的项目时 。

  • 在selenium web驱动程序中,我无法使用testng和maven将其显示在控制台中 JAVAlang.VerifyError:(类:junereleasemain/NewTest,方法:testFirstResult签名:()V)java函数的参数不兼容。朗,同学们。java上的getDeclaredMethods0(本机方法)。朗,同学们。java上的privateGetDeclared

  • 我需要使用Sikuli的自动化,但我无法采取截图。问题是,当我点击“截屏”或“创建区域”时,IDE会被隐藏,但选择区域选项不会出现....