在appium node.js脚本中递归调用函数

时间:2016-02-15 12:03:08

标签: node.js loops callback mocha appium

我试图使用appium点击android模拟器中的元素,直到屏幕上显示特定文本。 例如,我必须点击下个月的日历图标,直到我收到checkText = 2017年7月。

我使用的代码是:

exports.keepClickingWhileTextIsNot = function(element, checkText) {
    var nextbtn = driver.elementById('datePickerViewMonthNameTextView')
    return element.click().then(function(nextbtn){
            return nextbtn.text().then(function(text) {
            if (text == checkText) {
              driver.elementByXPath('//android.widget.TextView[@text=\'17\']').click()
            } else {
                return driver.keepClickingWhileTextIsNot(element, checkText);
            }
        });
    });
};

下一个图标反复点击并且正如预期的那样,但是它没有在2017年7月停止。如果在android上的文本等于2017年7月时阻止它进入。我也尝试过string1.equals(string2)。

根据日志,变量文本的值将以NaN形式出现。 我哪里错了?

1 个答案:

答案 0 :(得分:0)

似乎你的比较字符串而不是整数

尝试在比较之前将它们转换为整数

parseInt(text) == parseInt(checkText)