作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
由于我们使用的模板有一种奇怪(而且不太酷)的行为,我被困在 Protractor 测试中。
在页面加载时,模板有覆盖层,将在 1 秒后以这种方式隐藏:
$(document).ready(function(config){
setTimeout(function(){
$('.page-loading-overlay').addClass('loaded');
$('.load_circle_wrapper').addClass('loaded');
},1000);
});
*这让我觉得很糟糕(不想对此发表评论)
无论如何,我的测试失败了,因为它们运行的速度超过一秒,并且抛出了这个错误:
UnknownError: unknown error: Element is not clickable at point (463, 625). Other element would receive the click: <div class="page-loading-overlay loaded">...</div>
因为显然是接收点击的叠加层。
我在测试中找到了一个设置超时的解决方法,但这确实会减慢我的套件和 CI/CD 进程。并且让测试代码变得凌乱。
代码如下:
it('should test something', function(){
setTimeout(function(){
// test code
}, 1000);
});
我想知道是否有任何方法可以从 beforeEach
语句中的 DOM 中删除一个元素,以完全删除叠加层,因为我不想测试它,我也不担心如果它坏了。
有什么建议吗?
最佳答案
您可以使用 browser.executeScript
在浏览器上下文中执行一些代码:
beforeEach(function() {
browser.executeScript("$('.page-loading-overlay').remove();");
});
关于angularjs - Protractor 从 dom 中移除元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30256840/
我正在做一个项目,我的 android 在这个项目中作为一个网络服务器工作;输入带端口号的 IP 地址,打开 Web 界面,用户可以将文件上传到手机。我想在 Web 界面上显示一些图片,以便我们的界面
我是一名优秀的程序员,十分优秀!