完成mocha脚本完成返回分辨率方法被过度指定

时间:2018-06-06 04:43:44

标签: node.js selenium mocha

访问两个链接,然后在完成后调用它完成返回“解决方法过度指定。指定回调返回Promise;不是两个”

describe("youtube", function(){
    this.timeout(8000);
    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')
        return driver.wait(until.elementLocated(pageLoad)).then(()=>{

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

                const signedPageLoad = By.id('pagelet_bluebar')

                return driver.wait(until.elementLocated(signedPageLoad)).then(()=>{
                      //assert.strictEqual(, message);


                                                    done(); // call this function to tell mocha that you are done. 
                })
            },1000)
        })
    })
})

怎么回事?

2 个答案:

答案 0 :(得分:1)

@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));
}) 

答案 1 :(得分:0)

返回promisedone不兼容。

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