所以我正在使用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
那么有人可以告诉我我在哪里傻吗?
答案 0 :(得分:0)
el.text()
是同步还是异步? pending
建议您可能需要等待结果?