Чай как обещано не извлекает текстовое значение

codemon спросил: 13 октября 2017 в 06:51 в: javascript

У меня есть простой метод объекта страницы:

page.prototype.copyLink = function() {
  this.visit("https://myWebsite.com");
  this.login(); // once logged in, presented with list of elements
  return {
    firstCampaign: this.find('#el-1').getText(), //returns a promise
    secondCampaign: this.find('#el-2).getText() // returns a promise
  }
}module.exports = page;

Используя Jest и chai-as-promised, я проверяю, что текст в каждом #el то же самое:

var page = require("./page");it("Export link icon should link to export html page", function(){
   var copyLink =  page.copyLink();
   return copyLink.firstCampaign.should.eventually.equal(copyLink.secondCampaign);
});

По какой-то причине Chai успешно извлекает текст из firstCampaign, но не secondCampaign Поэтому я получаю следующую ошибку:

AssertionError: expected '##TEST STRING##' to equal { Object (flow_, stack_, ...) }      at getBasePromise.then.then.newArgs (node_modules/chai-as-promised/lib/chai-as-promised.js:302:22)
      at ManagedPromise.invokeCallback_ (node_modules/selenium-webdriver/lib/promise.js:1384:14)
      at TaskQueue.execute_ (node_modules/selenium-webdriver/lib/promise.js:3092:14)
      at TaskQueue.executeNext_ (node_modules/selenium-webdriver/lib/promise.js:3075:27)
      at asyncRun (node_modules/selenium-webdriver/lib/promise.js:2935:27)
      at node_modules/selenium-webdriver/lib/promise.js:676:7
          at <anonymous>
      at process._tickCallback (internal/process/next_tick.js:188:7)

Почему чай не извлекает текст из второго обещания?

0 ответов