Я писал, пытаясь настроить набор тестов для приложения, которое я разрабатывал. Приложение размещается локально и на большинстве учетных записей работает нормально. Я пытался настроить карму с помощью инструкций на сайте AngularJS, на сайте Karma и почти на любом другом сайте, который я мог найти, но я продолжаю получать ту же ошибку.
Вот моя конфа:
urlRoot = '/karma/';
frameworks = ['ng-scenario'];
files = [
ANGULAR_SCENARIO,
ANGULAR_SCENARIO_ADAPTER,
'spec/e2e/*.spec.js'
];
browsers = [
'Firefox',
];
proxies = {
'/': 'http://localhost/web/',
};
port = 9876;
singleRun = false;
junitReporter = {
outputFile: 'logs/e2e.xml',
};
logLevel = LOG_DEBUG;
И пример спецификации:
describe('login test', function() {
it('should login', function(){
browser().navigateTo('/');
if(browser().window().path() != '/'){
expect(element('[ng-model="username"]').count()).toBeGreaterThan(0);
input('username').enter('username');
input('password').enter('password');
element('#submit').click();
sleep(3);
}
expect(browser().window().path()).toEqual('/');
});
it('should logout', function(){
element('#quit').click();
element('quit_dialog').click();
sleep(1);
});
});
Когда я запускаю тест в html-файле через angular-scenario, он работает нормально, все зеленое. Когда я запускаю его через карму, я получаю следующие ошибки:
Error: Permission denied to access property 'angular'
Я подозреваю, что это междоменная проблема, но почему? И если да, то как я могу это исправить?
ПРИМЕЧАНИЕ. Мое приложение перенаправляет кого-либо на страницу входа с базового URL-адреса. Я предполагал, что карма может справиться с перенаправлением.
РЕДАКТИРОВАТЬ: я клонировал angular-seed и запустил его без изменений (кроме изменения URL-адреса прокси), и это прошло нормально.