我正在尝试再次运行量角器测试url http://na5.keylo.co/,目标是:
_model
字段填入数据' Oracle Corporation' click
搜索按钮规范代码:
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");
});
});
问题:
我总是在0
结果中得到by.repeater
,而当我手动使用浏览器时,我看到了确切的结果,它很简单,但我犯了错误,不知道是什么?
修改
使用@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服务器 运行1个WebDriver规范实例已启动警告 - 更多 比定位器bymodel(" _model")找到的一个元素 - 第一个 结果将被使用
keylocations主页 ?应该搜索公寓 - 失败:等待量角器与页面同步时出错:" [ng:test]没有找到元素参数的注入器 getTestability \ nhttp://errors.angularjs.org/1.5.2/ng/test"
˚F
- 失败*
1)keylocations主页应搜索公寓 - 失败:等待量角器与页面同步时出错:" [ng:test]没有找到元素参数的注入器 getTestability \ nhttp://errors.angularjs.org/1.5.2/ng/test"
在14秒内执行1个规格中的1个(1个失败)。
失败:1)keylocations主页应搜索公寓消息: 失败:等待量角器与页面同步时出错:" [ng:test]找不到元素参数的注入器 getTestability \ nhttp://errors.angularjs.org/1.5.2/ng/test"堆: 错误:失败:等待量角器与页面同步时出错:" [ng:test]没有找到元素参数的注入器 getTestability \ nhttp://errors.angularjs.org/1.5.2/ng/te st" 在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失败1测试 [发射器]整体:1个失败的规格[发射器]进程退出 错误代码1
答案 0 :(得分:1)
好像你的本地设置有问题。我复制了你的代码并且它通过了(很好,因为数字错了,但它检索了公寓#)。
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");
});
});
返回:
似乎你在当地有错误。我将链接粘贴到我的配置文件https://gist.github.com/anonymous/7a682f45999c0377013e409fe6dd4e24 - 除此之外,我建议你更新Protractor,webDriver和Jasmine。
我在Protractor 2.5.1和Jasmine 2.3.4上。