2012-04-23 103 views
0

我正在爲我的Web應用程序使用AngularJS。要做基於教程的e2e路由場景測試,我需要做一些類似於browser()。navigateTo('../../ app/index.html')的東西。但是,我使用cshtml作爲我的主視圖,該視圖被直接服務器瀏覽屏蔽。所以我不能做一些像browser()。navigateTo('../../ app/index.cshtml')的東西。AngularJS中的場景測試

我希望瀏覽器導航到應用程序根目錄而不是特定文件。我做了一些像瀏覽器()。navigateTo('../../')。但是,我得到以下錯誤「TypeError:無法調用未定義的方法'$瀏覽器」。我認爲這是由於index.cshtml中的「ng-app」不包含在內。有沒有簡單的方法來解決這個問題?

回答

3

由於具有相同的域策略(場景運行者需要訪問iframe中的應用程序),您可以導航到任何url,但必須位於同一個域中。

這可以通過代理來改變。 或者您可能會通過應用服務器提供場景運行器(runner.html),這可能更容易解決。

您需要ng-app,以便場景運行器可以找到$注入器,因此即使您進行手動引導,也應將ng-app屬性放到應用程序的根元素上。

0

我會考慮將測試運行器放在您的主測試站點的虛擬目錄中。