2012-04-23 181 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

我会考虑将测试运行器放在您的主测试站点的虚拟目录中。