2013-02-25 83 views
4

我正在建立一个使用Java在服务器和角的前端Web应用程序。我正在尝试使用单撇子来设置e2e测试。测试失败,原因是我认为是跨站点脚本问题。由于我使用java构建我的后端,因此我有一个运行托管我的Web应用程序的tomcat服务器。如果我在浏览器中导航到http://localhost:8087/angular,则加载该页面。 (由于我的电脑上都安装了tomcat 6和7,因此8087端口用于我的tomcat 7安装)。跨站点脚本问题与测试e2e测试和角

当我运行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

+0

当您在命令行中运行karma时,您正在运行node/web server吗? – Nair 2013-05-15 15:30:21

+0

我不明白。什么是业力?我正在使用tomcat作为Web服务器。我问这个问题已经有一段时间了,我的一个解决方案是使用硒在java中编写e2e测试。 – 2013-05-17 11:30:47

+0

噶是新的名字。更新到最新可能会更改问题或错误消息。 – 2013-05-19 15:30:04

回答

0

首先,我建议您升级Karma

你分享的应该只是还有一个在this here example的配置。事实上,这不是由于您使用的是旧版本的问题或由您的应用程序本身中的问题导致的。

当我使用Nginx从端口80提供一切服务时,我已经有了一些老式版本的口哨/角色,但如果我是你,我会先升级。