基本上,我正在尝试使用execute函数返回的值将屏幕调整为完整的高度和宽度。我正在努力弄清楚如何将值从execute函数传递给我的resize函数,并希望有人可以看看我的代码并向我展示我要去哪里哪里?当我检查saucelabs命令执行时,在屏幕截图之前没有看到resize命令被触发。因此,我不确定故障的确切位置(无论大小传递不正确还是计时不正确。当我对大小进行硬编码而不是尝试从执行中获取大小时,它都可以正常工作。 谢谢!!
registerSuite('homepage', {
'homepage'() {
return this.remote.get('myurl')
.setWindowPosition(0,0)
.maximizeWindow()
.execute(() => [
document.documentElement.scrollWidth,
document.documentElement.scrollHeight
])
.then(([width, height]) => { return helpers.resizeWindow(width, height) })
.takeScreenshot()
.then(assertVisuals(this, { missingBaseline: 'snapshot', regenerateBaselines: true }) );
}
});
答案 0 :(得分:0)
我实际上可以通过做两件事来解决这个问题。我删除了helper.resizeWindow并使用了常规的command.resizeWindow,而不是将其嵌入到回调函数中,而是将其放置在没有花括号且没有return语句的位置。我不确定为什么这种语法有效,而另一种却没有。
registerSuite('homepage', {
'homepage'() {
return this.remote.get('mypage')
.setWindowPosition(0,0)
.maximizeWindow()
.execute(() => [document.documentElement.scrollWidth, document.documentElement.scrollHeight])
.then(([width, height]) => this.remote.setWindowSize(width, height))
.takeScreenshot()
.then(
assertVisuals(this, {
missingBaseline: 'snapshot',
regenerateBaselines: true
})
);
}
});