bounty将在5天后过期。回答此问题可获得+150声望奖励。Steve希望引起更多人关注此问题。
我们的webdriver测试需要隐藏一个在浏览器向下滚动页面时在屏幕截图中被多次记录的元素。它是一个浮动元素。
我有:
it('should save Food blog page screenshotsscreenshots', async () => {
const adjustedURL = new browser();
await adjustedURL
.url('en-au/blog/elements-and-templates-food-sustainability/')
.execute(() => {document.getElementByID("_hjSafeContext_7335155").style["opacity"] = "0";})
.pause(4000)
.saveFullPageScreen('AU-Food-blog', {});
});
但是接收到错误TypeError: browser is not a constructor
。
如果我用途:
it('should save Food blog page screenshotsscreenshots', async () => {
await browser
.url('en-au/blog/elements-and-templates-food-sustainability/')
.execute(() => {document.getElementByID("_hjSafeContext_7335155").style["opacity"] = "0";})
.pause(4000)
.saveFullPageScreen('AU-Food-blog', {});
});
我得到browser.url(...).execute is not a function
编辑,可能内部通信HTML发生了变化,我现在需要将.intercom-lightweight-app-launcher
作为目标:
it('should save Food blog page screenshotsscreenshots', async () => {
await browser.url('en-au/blog/elements-and-templates-food-sustainability/');
await browser.execute(() => {document.getElementByClass("intercom-lightweight-app-launcher").style.opacity = "0";});
await browser.pause(4000)
await browser.saveFullPageScreen('AU-Food-blog', {});
});
如果我手动将.intercom-lightweight-app-launcher
的不透明度设置为0,Intercom小部件将变为不可见,但是对webdriver代码的上述更改意味着Intercom小部件仍然会被烘焙到屏幕截图中。
1条答案
按热度按时间wfveoks01#
看起来你不能用WebdriverIO链接浏览器方法,相反,你可以重用
browser
对象,以及await
每个方法,如下所示: