遵循Angular-phonecat教程,在scenario.js中的第7步使用了browser()和binding()对象,但是,当我尝试使用它们来测试我的应用程序时,运行testacular说:
ReferenceError: browser is not defined
at null.<anonymous>
Intellij Ideal也说:未解析的函数或方法浏览器()。我在这里错过了什么?
这里是教程中的代码片段: 'use strict';
/ * http://docs.angularjs.org/guide/dev_guide.e2e-testing * /
describe('PhoneCat App', function() {
it('should redirect index.html to index.html#/phones', function() {
browser().navigateTo('../../app/index.html');
expect(browser().location().url()).toBe('/phones');
});
describe('Phone list view', function() {
beforeEach(function() {
browser().navigateTo('../../app/index.html#/phones'); //<--- browser() object is not defined !!!
});
it('should filter the phone list as user types into the search box', function() {
expect(repeater('.phones li').count()).toBe(20);
input('query').enter('nexus');
expect(repeater('.phones li').count()).toBe(1);
input('query').enter('motorola');
expect(repeater('.phones li').count()).toBe(8);
});
it('should be possible to control phone order via the drop down select box', function() {
input('query').enter('tablet'); //let's narrow the dataset to make the test assertions shorter
expect(repeater('.phones li', 'Phone List').column('phone.name')).
toEqual(["Motorola XOOM\u2122 with Wi-Fi",
"MOTOROLA XOOM\u2122"]);
select('orderProp').option('Alphabetical');
expect(repeater('.phones li', 'Phone List').column('phone.name')).
toEqual(["MOTOROLA XOOM\u2122",
"Motorola XOOM\u2122 with Wi-Fi"]);
});
it('should render phone specific links', function() {
input('query').enter('nexus');
element('.phones li a').click();
expect(browser().location().url()).toBe('/phones/nexus-s');
});
});
describe('Phone detail view', function() {
beforeEach(function() {
browser().navigateTo('../../app/index.html#/phones/nexus-s');
});
it('should display placeholder page with phoneId', function() {
expect(binding('phoneId')).toBe('nexus-s');
});
});
});
答案 0 :(得分:4)
它在angular-scenario.js中定义
答案 1 :(得分:0)
//规范文件
'use strict';
describe('demoApp', function() {
it('should redirect node_list.html to node_list.html#/menu', function() {
browser().navigateTo('/node_list.html');
expect(browser().location().url()).toBe('/menu');
});
describe('menu_view', function() {
beforeEach(function() {
browser().navigateTo('/node_list.html#/menu');
});
});
});
Error:
Chrome 39.0.2171 (Linux) demoApp should redirect node_list.html to node_list.html#/menu FAILED
ReferenceError: browser is not defined at Object.<anonymous> (/test/viewpage.js:5:5)