Javascript 夜间监视未导航到url

Javascript 夜间监视未导航到url,javascript,cucumber,nightwatch.js,Javascript,Cucumber,Nightwatch.js,我有以下代码,发生的事情是,一旦承诺得到解决,浏览器就不会导航到url,而是停留在nightwatch.conf.js上定义的默认页面上。所以测试失败了 Given(/^I make a post request and retreive the Id i got the page + id$/, () => { //I make the post request var transactionIdPromise = utils.getTransactionId(

我有以下代码,发生的事情是,一旦承诺得到解决,浏览器就不会导航到url,而是停留在nightwatch.conf.js上定义的默认页面上。所以测试失败了

Given(/^I make a post request and retreive the Id i got the page + id$/, () => {
      //I make the post request 
      var transactionIdPromise = utils.getTransactionId(1);

      return transactionIdPromise.getBody('utf8').then(JSON.parse).done(function (result) {
          var id = result.transaction_id;
          var url = "https://mywebpage.com:8443/" + id;
          client.url(url)
      });
    });

你必须正确地把承诺连成一条链。url是一个异步操作,它返回一个承诺。在进入下一步之前,您必须返回该值,以使Cucumber.js runner等待整个承诺链得到解决

Given(/^I make a post request and retreive the Id i got the page + id$/, () => {
      //I make the post request 
      var transactionIdPromise = utils.getTransactionId(1);

      return transactionIdPromise.getBody('utf8').then(JSON.parse).then((result) => {
          var id = result.transaction_id;
          var url = "https://mywebpage.com:8443/" + id;
          return client.url(url)
      });
    });

你必须正确地把承诺连成一条链。url是一个异步操作,它返回一个承诺。在进入下一步之前,您必须返回该值,以使Cucumber.js runner等待整个承诺链得到解决

Given(/^I make a post request and retreive the Id i got the page + id$/, () => {
      //I make the post request 
      var transactionIdPromise = utils.getTransactionId(1);

      return transactionIdPromise.getBody('utf8').then(JSON.parse).then((result) => {
          var id = result.transaction_id;
          var url = "https://mywebpage.com:8443/" + id;
          return client.url(url)
      });
    });

我的解决方案是在承诺上更改“为a完成”,尽管我仍然不确定为什么会这样做。

我的解决方案是在承诺上更改“为a完成”,尽管我仍然不确定为什么会这样做。

嗨,mucsi96我试着像你说的那样链接承诺,但它不起作用。承诺没有得到解决,因此,它将进入下一步。请在GitHub上提交一个问题,并提供一个简单的示例来重现该问题。作为基础,您可以使用Hi mucsi96。我尝试按照您所说的链接承诺,但它不起作用。承诺没有得到解决,因此它将进入下一步。请在GitHub上提交一个问题,并提供一个简单的示例来重现该问题。作为你可以使用的基础