Tomcat 测试性e2e测试和角度测试的跨站点脚本问题

Tomcat 测试性e2e测试和角度测试的跨站点脚本问题,tomcat,angularjs,karma-runner,Tomcat,Angularjs,Karma Runner,我正在构建一个webapp,服务器使用java,前端使用angular。我正在尝试使用TestCular设置e2e测试。测试失败是因为我认为是跨站点脚本问题。因为我使用java构建后端,所以我有一个运行的tomcat服务器来托管我的web应用程序。如果我导航到http://localhost:8087/angular在我的浏览器中,页面将加载。(端口8087用于我的tomcat 7安装,因为我的计算机上有tomcat 6和7) 运行testacular start'path/to/config/

我正在构建一个webapp,服务器使用java,前端使用angular。我正在尝试使用TestCular设置e2e测试。测试失败是因为我认为是跨站点脚本问题。因为我使用java构建后端,所以我有一个运行的tomcat服务器来托管我的web应用程序。如果我导航到
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
TestCular 0.5.10

首先,我建议您升级

您共享的配置应该与中的配置一样有效。这不是因为您使用的是旧版本的TestCular,或者是因为应用程序本身存在问题


当我使用Nginx从端口80提供所有服务时,我对旧版本的TestCular/angular有点运气,但如果我是你,我会先升级。

当你在命令行中运行karma时,你在运行node/web server吗?我不明白。什么是业力?我使用tomcat作为web服务器。我问这个问题已经有一段时间了,我的一个解决方案是使用selenium用java编写e2e测试。更新到最新版本可能会更改问题或错误消息。嗨,Ludwig,运行1.0.6版本Angular的Karma时出现问题,您需要使用1.4.4版本。不确定它是否有助于解决问题。我强烈建议你看看因果报应,而不是赛利姆。这个问题解决了吗?