我试图使用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形式出现。 我哪里错了?
答案 0 :(得分:0)
似乎你的比较字符串而不是整数
尝试在比较之前将它们转换为整数
parseInt(text) == parseInt(checkText)