如何在夜间中从.getText返回变量



我有一个函数 .getText,我需要从中返回变量num3以在以下页面上进行比较。但是最后的断言是失败的,因为num3是"未定义的"。

var num3;
... 
.getText('my_selector', function(result) {
                const num = (number * result.value) * 0.05;
                const num2 = (number * result.value) - num;
                num3 = Math.round(num2 * 100) / 100;
this.expect.element('my_selector').to.have.value.equal(num3); })
...
.assert.containsText('my_selector2', num3) //undefined

我找到了解决此问题的解决方案。我们需要.comform函数。http://nightwatchjs.org/api#perform

var num3;
... 
.getText('my_selector', function(result) {
            const num = (number * result.value) * 0.05;
            const num2 = (number * result.value) - num;
            num3 = Math.round(num2 * 100) / 100;
this.expect.element('my_selector').to.have.value.equal(num3); })
...
.perform( function(){
          this.api
              .useXpath()//it's necessary if you use Xpath selector
              .assert.containsText('my_selector2', num3)
            })

有关为什么有必要的更多信息,请在夜间命令队列中阅读。

最新更新