【发布时间】:2016-08-09 09:25:39
【问题描述】:
我正在尝试对 url http://na5.keylo.co/ 运行量角器测试,目标是:
- 用数据“Oracle Corporation”填充
_model字段 -
click搜索按钮 - 预期搜索结果为计数 508
规格代码:
describe('keylocations home page', function () {
it('should search condos', function () {
browser.get('http://na5.keylo.co/');
element(by.model('_model')).sendKeys("Oracle Corporation");
element(by.css('.search__block.search__submit')).click();
var condos = element.all(by.repeater('condo in scrollResults'));
expect(condos.count()).toEqual(508);
// this also can be used to get desired test completed
//expect(element(by.css('.bar__number'))).toEqual("508 condos found");
});
});
问题:
我总是在by.repeater 结果中得到0,而当我在浏览器上手动使用时,我看到了确切的结果,它很简单,但我犯了错误不知道是什么?
编辑:
按照@Gunderson 的建议使用 conf.js:
//this works and sows success
browser.driver.wait(browser.driver.isElementPresent(by.css('.bar__number')));
//this fails with following error log
expect(element(by.css('.bar__number')).getText()).toEqual("508 condos found");
//this also fails with following error log
browser.driver.wait(expect(element(by.css('.bar__number')).getText()).toEqual("508 condos found"));
使用 http://localhost:4444/wd/hub 的 selenium 服务器 [launcher] 开始运行 1 个 WebDriver Spec 实例 Started WARNING - 更多 比定位器找到的一个元素 by.model("_model") - 第一个 结果将被使用
keylocations 主页 ?应该搜索公寓 - 失败:等待 Protractor 与页面同步时出错:“[ng:test] 找不到元素参数的注入器 getTestability\nhttp://errors.angularjs.org/1.5.2/ng/test"
F
- 失败 *
1) keylocations 主页应该搜索 condos - 失败:等待 Protractor 与页面同步时出错:“[ng:test] 找不到元素参数的注入器 getTestability\nhttp://errors.angularjs.org/1.5.2/ng/test"
在 14 秒内执行了 1 个规范中的 1 个(1 个失败)。
失败:1) keylocations 主页应该搜索 condos 消息: 失败:等待量角器与页面同步时出错:“[ng:test] 找不到元素参数的注入器 getTestability\nhttp://errors.angularjs.org/1.5.2/ng/test" 堆栈: 错误:失败:等待量角器与页面同步时出错:“[ng:test] 找不到元素参数的注入器 getTestability\nhttp://errors.angularjs.org/1.5.2/ng/test" 在 C:\Users\Hair\AppData\Roaming\npm\node_modules\protractor\node_modules\jasminewd2\index.js:101:16 在 Promise.invokeCallback_ (C:\Users\Hair\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\promise.js:1329:14) 在 TaskQueue.execute_ (C:\Users\Hair\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\promise.js:2790:14) 在 TaskQueue.executeNext_ (C:\Users\Hair\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\promise.js:2773:21)
1 个规范,1 个失败在 14.407 秒内完成 [启动器] 0 个实例 WebDriver 仍在运行 [launcher] chrome #01 failed 1 test(s) [启动器] 总体:1 个失败的规范 [启动器] 进程退出 错误代码 1
【问题讨论】:
标签: angularjs selenium-webdriver protractor angularjs-e2e e2e-testing