Appium waitForElementByName始终返回state:pending

时间:2015-06-11 18:34:53

标签: webdriver appium

所以我正在使用Appium来测试iOS应用。我在javascript中编写了测试,并使用Mocha作为测试框架。一切都运行良好,除了试图通过一个示例测试:

it('should find sign up label', function () {
  return driver.waitForElementByName('_signUpLabel', 3000)
    .then(function (el) {
      el.text().should.equal('Sign up with...');
    });
});

这是应用程序的代码:

_signUpLabel = [[UILabel alloc] init];
[_signUpLabel setAccessibilityIdentifier:@"_signUpLabel"];
...
[_signUpLabel setText:@"Sign up with..."];
[view addSubview:_signUpLabel];

加载iOS模拟器,然后加载应用程序,然后登录视图就可以正常加载视图中的元素,但我收到的错误是:AssertionError: expected { state: 'pending' } to equal 'Sign up with...'

我可以看到Appium通过其日志记录找到了 元素:

 > CALL waitForElementByName("_signUpLabel",3000)
 > CALL elements("name","_signUpLabel")
 > POST /session/:sessionID/elements {"using":"name","value":"_signUpLabel"}
 > RESPONSE elements("name","_signUpLabel") [{"ELEMENT":"0"}]
 > RESPONSE waitForElementByName("_signUpLabel",3000) {"ELEMENT":"0"}
 > CALL element.text()
 > GET /session/:sessionID/element/0/text

那么有人可以告诉我我在哪里傻吗?

1 个答案:

答案 0 :(得分:0)

el.text()是同步还是异步? pending建议您可能需要等待结果?