2013-02-25 114 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提供一切服務時,我已經有了一些老式版本的口哨/角色,但如果我是你,我會先升級。