如何 return 守夜人中 .getText 中的变量?
How to return a variable from .getText in nightwatch?
我有一个函数 .getText
,我需要从中 return 一个变量 num3
以便在后续页面中进行比较。但是最后的断言失败了,因为 num3 是 "undefined".
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
我找到了这个问题的解决方案。我们需要 .perform 函数。 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)
})
有关为什么需要这样做的更多信息,请阅读 Nightwatch command queue。
我有一个函数 .getText
,我需要从中 return 一个变量 num3
以便在后续页面中进行比较。但是最后的断言失败了,因为 num3 是 "undefined".
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
我找到了这个问题的解决方案。我们需要 .perform 函数。 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)
})
有关为什么需要这样做的更多信息,请阅读 Nightwatch command queue。