【发布时间】:2016-08-31 12:44:54
【问题描述】:
我正在尝试使用 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
!编辑: 这是 Chromium 中的一个已知 BUG,很可能不会修复。详情请见this LINK。
【问题讨论】:
-
嘿@mags!您可能不再对此感兴趣,但我发布了一种工作方式,可以让其他访问该问题的人轻松实现这一目标。
-
另外澄清一下,该博文和措辞可能有点误导......它不适用于 Selenium 或驱动程序团队(geckodriver、chromedriver , etc.) 来实现这样的功能。除了明显的渲染问题,这些问题仍然存在......这是合乎逻辑的,这应该只在高级框架级别(例如:WebdriverIO、Puppeteer)完成。
-
Selenium 是(引用文档)以用户为中心的网络测试框架。添加用户不能做的事情,例如在不滚动的情况下查看整个页面 (duh!) 是团队永远不会做的事情。 Selenium 中的所有内容都是针对此实现的。 (文本是逐字母添加的,因为用户会键入它,总是首先单击第一个元素,就像用户一样,您不能单击您看不到的元素,就像用户一样)。你明白了……
标签: selenium selenium-webdriver automated-tests webdriver-io wdio-v4