我有一个简单的 e2e 测试来验证路由重定向是否有效
亚军.html
<!doctype html>
<html lang="en">
<head>
<title>End2end Test Runner</title>
<script src="../client/components/angular-scenario/angular-scenario.js" ng-autotest></script>
<script src="e2e/scenarios.js"></script>
</head>
<body>
</body>
</html>
场景.js
'use strict';
describe('e2e', function() {
beforeEach(function() {
browser().navigateTo('../../client/index.html');
});
it('should redirect to the main application home page with / is accessed', function() {
browser().navigateTo('#!/');
expect(browser().location().path()).toBe('/app');
});
});
业力.conf.js
*snip*
files = [
ANGULAR_SCENARIO,
ANGULAR_SCENARIO_ADAPTER,
'./test/e2e/**/*.js',
];
*snip*
当它运行时, browser().location().path() 将引发异常:
TypeError: 'undefined' is not a function (evaluating '$document.injector()')
我已经确定是最后的 .path() 导致了问题,因为如果我这样做 browser().location() 不会引发异常。
但是,在浏览器控制台中,这将按预期返回 angular.scenario.Future。
为什么会引发异常?