4

我正在构建一个 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 testacular 0.5.10

4

1 回答 1

0

首先我建议你升级Karma

您共享的配置应该与此处示例中的配置一样有效。事实并非如此,要么是由于您使用的是旧版本的 testacular,要么是由于您的应用程序本身存在问题。

当我使用 Nginx 从端口 80 提供所有内容时,我对旧版本的 testacular/angular 有一些运气,但如果我是你,我会先升级。

于 2013-07-25T07:35:49.710 回答