Cucumber 如何在js中从soda访问访问器

Cucumber 如何在js中从soda访问访问器,cucumber,Cucumber,我是CumberJS新手,正在尝试编写一个测试场景,将表中的实际行数与已知计数进行比较 我正在使用getXpathCount函数,但不知道如何从方法调用中读取响应,以下是我已经做过的: determineNumRows: function (callback) { var self = this; self.browser .chain .getXpathCount("//div[1]/div/table[2]/tbody/tr") .setTimeout(1000)

我是CumberJS新手,正在尝试编写一个测试场景,将表中的实际行数与已知计数进行比较

我正在使用getXpathCount函数,但不知道如何从方法调用中读取响应,以下是我已经做过的:

determineNumRows: function (callback) {
var self = this;
self.browser
    .chain
    .getXpathCount("//div[1]/div/table[2]/tbody/tr")
    .setTimeout(1000)
    .end(function (err) {
        if (err) {
            callback.fail(err);
        } else {
            callback();
        }
    });
}
从读取getXpathCount函数来看,这应该返回节点数

提前感谢。

我认为这应该有效(未经测试):


感谢您的快速回复,我已经尝试过了,但是,当我显示trCount的值时,它始终为0,它没有按照预期设置此变量。有什么想法吗?你把trCount输出到哪里?请注意在
end()
回调中使用它,而不是在它之后使用,因为它是您正在处理的异步代码。实际上,这解决了我的错误,现在我可以获得返回的值,有没有一种方法可以在不使用链接的情况下获得它,我尝试了这个方法但没有成功:var test=self.browser.getXpathCount(……记住,这都是异步的。像这样的东西应该可以做到:
self.browser.getXpathCount(“//xx”,函数(err,result){……
determineNumRows: function (callback) {
var self = this;
var trCount = 0;
self.browser
    .chain
    .getXpathCount("//div[1]/div/table[2]/tbody/tr", function (count) { 
        trCount = count; 
    })
    .setTimeout(1000)
    .end(function (err) {
        if (err) {
            callback.fail(err);
        } else {
            callback();
        }
    });
}