我正在使用wedriveri o 4.5:
./node_modules/.bin/wdio -v
v4.5.2
我需要等到某个元素存在,如果它不存在,处理这种情况。
例如:
let element = browser.element('.unexisting');
browser.waitUntil(
function () {
return element.isExisting();
},
1000,
'Element is not found.'
);
但如果页面上不存在元素,webdriver会将我的测试标记为失败,并显示消息:“超时10000毫秒。”。尝试减少运行时间或增加测试规格的超时时间(http://webdriver.io/guide/testrunner/timeouts.html); 如果回复promise,确保其得到解决
>
我该如何处理这种情况?
browser.on('错误',函数(e){console.log('处理浏览器错误');})
为什么我看不到我的消息“找不到元素”?
谢谢!
确保waitForXXX命令所用的时间不超过规范超时时间。如果它确实增加了你的规格超时,在你的例子中是mochaOpts。超时。在这里看到更多http://webdriver.io/guide/testrunner/timeouts.html#Framework-相关超时
我试图执行一个简单的浏览器测试 浏览器立即启动并关闭,引发以下错误 HTTP请求路径为空意味着什么?新版本的watir是否更改了调用参数? 有人遇到过类似的问题吗? 我的系统是Windows 7 64位,我运行在一个代理之后,浏览器已经配置了一个代理 ---编辑--- 我引入了一个尾随斜杠,但我现在得到了一个新的错误,也得到了以前的错误,每次我都要更改代码并保存它来获得这个错误 ---编辑---
下面是一个类和log4j配置: $vi My.java $vi log4j2.xml 在日志/foo.bar.log中出现和消息。这是我所期望的。但是在日志/foo.log中什么都没有出现,我期望那里有消息。在控制台上也什么都没有出现,但是我期望消息。所以它没有像我预期的那样工作。那么我的错误是什么? 还有LogManager的论点。getLogger必须是记录器的名称。但我也看到了论点是类的例子
我想使用查找从一个集合中获取一些数据并将其放入另一个集合中。 在localfield或foreignfield中写什么都不重要,因为它从player_game_stats中获取所有数据并将其插入player集合中的每个文档中。我想检查localfield和foreignField是否相等,但lookup不检查这一点。我对mongodb使用NoSqlBooster
然后更新状态: 由于应该合并,我希望它是: 但相反,它会吃掉id,状态为: 这是预期的行为吗?只更新嵌套状态对象的一个属性的解决方案是什么?
最后是持久性上下文配置: 我很感谢你的帮助。