Node.js 完成mocha脚本后返回的解析方法过多

Node.js 完成mocha脚本后返回的解析方法过多,node.js,selenium,mocha.js,Node.js,Selenium,Mocha.js,访问两个链接,然后在其完成后返回“解析方法指定过度。请指定回调或返回承诺;不能同时返回两个” 这是怎么回事?返回一个承诺和完成是不兼容的 我认为您应该从代码中删除所有return语句@AbhinavD帮助我理解了我可以通过添加断言和捕获错误来编辑代码,使其更加灵活 it("test successful login",function(done){ var driver = new webdriver.Builder().forBrowser("chrome").build();

访问两个链接,然后在其完成后返回“解析方法指定过度。请指定回调或返回承诺;不能同时返回两个”


这是怎么回事?

返回一个
承诺
完成
是不兼容的


我认为您应该从代码中删除所有
return
语句

@AbhinavD帮助我理解了我可以通过添加断言和捕获错误来编辑代码,使其更加灵活

it("test successful login",function(done){
    var driver = new webdriver.Builder().forBrowser("chrome").build();
    driver.get("http://www.google.com");

    const pageLoad = By.id('lga')
    driver.wait(until.elementLocated(pageLoad)).then(()=>{

        setTimeout(function(){
            driver.get("http://www.facebook.com");

            const signedPageLoad = By.id('pagelet_bluebar')

            driver.wait(until.elementLocated(signedPageLoad)).then(()=>{
                  //assert.strictEqual(, message);
                    assert.equal(50, 70); 
                    done(); // call this function to tell mocha that you are done. 
            }).catch((err) => done(err));
        },1000)
    }).catch((err) => done(err));
}) 

你的解释很容易理解。有了这样的理解,我可以通过使用assert n catch error进行更多调整
it("test successful login",function(done){
    var driver = new webdriver.Builder().forBrowser("chrome").build();
    driver.get("http://www.google.com");

    const pageLoad = By.id('lga')
    driver.wait(until.elementLocated(pageLoad)).then(()=>{

        setTimeout(function(){
            driver.get("http://www.facebook.com");

            const signedPageLoad = By.id('pagelet_bluebar')

            driver.wait(until.elementLocated(signedPageLoad)).then(()=>{
                  //assert.strictEqual(, message);
                    assert.equal(50, 70); 
                    done(); // call this function to tell mocha that you are done. 
            }).catch((err) => done(err));
        },1000)
    }).catch((err) => done(err));
})