Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Selenium Browser.wait不';不要等待给定的毫秒_Selenium_Protractor_Mocha.js_Chai - Fatal编程技术网

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
功能之前等待,不是吗?