基本上,我尝试使用从execute函数返回的值将屏幕大小调整为全高和全宽。我正在努力弄清楚如何将值从execute函数传递到我的resize函数,并希望有人能看看我的代码,并告诉我哪里出错了?当我检查saucelabs命令执行时,我没有看到resize命令在屏幕截图之前被触发。所以我不能确切地确定故障在哪里(是大小传递不正确还是时间不正确。当我硬编码大小,而不是试图从execute中获取它时,它可以完美地工作。谢谢你!!
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 }) );
}
});发布于 2019-04-11 23:44:21
实际上,我可以通过做两件事来解决这个问题。我删除了helper.resizeWindow并使用了常规的command.resizeWindow,而不是将它嵌入回调函数中,我只是将它放在那里,没有大括号,也没有返回语句。我不确定为什么这个语法行得通,而另一个语法不行。
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
})
);
}
});https://stackoverflow.com/questions/55634813
复制相似问题