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