跨站点脚本问题与testacular e2e测试和角度

时间:2013-02-25 09:22:45

标签: tomcat angularjs karma-runner

我正在构建一个webapp,在服务器上使用java,前端使用angular。我正在尝试使用testacular设置e2e测试。测试失败是因为我认为是跨站点脚本问题。由于我使用java构建我的后端,我有一个运行托管我的Web应用程序的tomcat服务器。如果我在浏览器中导航到http://localhost:8087/angular,则会加载页面。 (端口8087用于我的tomcat 7安装,因为我的计算机上有tomcat 6和7)。

当我运行testacular start 'path/to/config/file时,我收到此错误:

http://localhost:9876/adapter/lib/angular-scenario.js?1360780804000:25281: 
Error: Permission denied to access property 'document'

这是我的配置文件:

basePath = '../../';

files = [ 
  ANGULAR_SCENARIO,
  ANGULAR_SCENARIO_ADAPTER,
  'test/js/tests/e2e/scenarios.js'
];

autoWatch = false;

browsers = ['firefox'];

singleRun = true;

proxies = { 
  '/': 'http://localhost:8087/angular'
};

junitReporter = { 
  outputFile: 'test_out/e2e.xml',
  suite: 'e2e'
};

这是我的测试文件:

describe("E2E Test", function() {

    it("should load the document and be able to read from it", function() {
        browser().navigateTo("/");
        expect(element("body", "The body element").count()).toBe(1); 
    }); 

});

这有什么办法吗? 使用: 节点v0.8.20 试验0.5.10

1 个答案:

答案 0 :(得分:0)

首先,我建议您升级Karma

您共享的配置应与this here example中的配置一样好用。它不是由于您使用的是旧版本的版本,或者是您的应用程序本身的问题而引起的。

当我使用Nginx从端口80提供所有东西时,我已经运行了旧版本的testacular / angular,但如果我是你,我会先升级。