我有一个简单的e2e测试来验证路由重定向是否正常工作
<!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>
'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');
});
});
*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。
为什么会引发异常?
答案 0 :(得分:2)
从头顶来看,以下是AngularJS E2E测试不起作用的主要原因
希望其中一个能帮到你!