Selenium Browser.wait不';不要等待给定的毫秒
所以我对浏览器有问题。请等待使用量角器、摩卡和柴。基本上,我创建的一个简单脚本基本上是:Selenium Browser.wait不';不要等待给定的毫秒,selenium,protractor,mocha.js,chai,Selenium,Protractor,Mocha.js,Chai,所以我对浏览器有问题。请等待使用量角器、摩卡和柴。基本上,我创建的一个简单脚本基本上是: var EC = protractor.ExpectedConditions; describe('Personal information', function () { var EC = protractor.ExpectedConditions; this.timeout(5000); it('test', function (done) { browse
var EC = protractor.ExpectedConditions;
describe('Personal information', function () {
var EC = protractor.ExpectedConditions;
this.timeout(5000);
it('test', function (done) {
browser.driver
.then(() => browser.wait(EC.presenceOf(element(by.xpath("//root"), 1000, "timed out TEST")
.then(() => done());
});
如您所见,我添加了一个函数this.timeout(5000)
这意味着5秒后它将抛出一个错误,但我已在浏览器中输入。在1000毫秒后等待一个超时,这意味着1秒后它将在1秒后抛出一个超时错误
然而,它似乎没有这样做,而是等待5秒并抛出错误:超时超过5000毫秒。对于异步测试和挂钩,确保调用“done()”;如果返回承诺,请确保其得到解决。
我很困惑我在这里做了什么不正确的事情。我来了
我怎么能让它等我给的钱呢
要更新2,请执行以下操作:
describe('Personal information', function () {
var EC = protractor.ExpectedConditions;
this.timeout(0);
browser.wait(EC.presenceOf(element(by.xpath("//root"))), 1000, "timed out TEST");
});
我不完全确定
this.timeout()
是如何工作的,但我怀疑它的行为类似于隐式等待element(by.xpath(“//root”)
尝试在定义的5秒钟内定位该元素,但仅在该操作失败后browser。等待
检查1秒超时是否已继续
您可以设置
此.timeout(0)代码>在使用浏览器之前。等待
您使用的是哪个版本的selenium??当您在超时前添加wait时,它是否有效?@SkorpEN“selenium webdriver”:“^4.0.0-alpha.1”,“量角器”:“^5.4.2”,
-您的意思是我应该将wait放在哪里?不确定您的意思是什么。timeout()是您的函数吗?背后是什么?@Guy这是一个摩卡咖啡功能https://mochajs.org/api/Mocha.Suite.html#timeout
尝试在此之前添加wait.timeout()。所以这行应该是“等待这个。超时();”嘿,伙计!我也考虑过。我改为this.timeout(0)
,它似乎永远被卡住,在找到元素之前不会继续所以再一次,browser.wait似乎仍然不起作用anythinng@Thrillofit86如果使用browser.wait(EC.presenceOf(element)(by.xpath(//root)),1000,“超时测试”)代码>外部<代码>它代码>?好的,我在这行下面做了。超时(0),它似乎仍然在永远等待。我已经更新了这个问题,向您展示了它是如何实现的looks@Thrillofit86它是在这条线上等待还是在it
上等待?你没有移除它。如果在描述
之前还有一个超时
,我添加了浏览器。请等待它触发它
功能。我确实需要it
以后进行自动测试,但使用浏览器应该没问题。在实际it
功能之前等待,不是吗?