0

我正在为我的 Web 应用程序使用 AngularJS。要进行e2e路由场景测试,根据教程,我需要做类似browser().navigateTo('../../app/index.html')的事情。但是,我使用 cshtml 作为我的主视图,它被阻止直接浏览服务器。所以我不能做类似 browser().navigateTo('../../app/index.cshtml') 的事情。

我希望浏览器导航到应用程序根目录而不是特定文件。我做了类似浏览器().navigateTo('../../')的事情。但是,我收到以下错误“TypeError:无法调用未定义的方法'$browser'”。我认为这是由于 index.cshtml 中的“ng-app”不包括在内。有什么简单的方法可以解决这个问题吗?

4

2 回答 2

3

您可以导航到任何 url,但它必须在同一个域中,因为域策略相同(场景运行器需要访问 iframe 中的应用程序)。

这可以通过代理解决。或者您可以通过您的应用服务器为场景运行程序 (runner.html) 提供服务,这可能是更简单的解决方案。

您需要ng-app,以便场景运行器可以找到 $injector,因此即使您进行手动引导,也将ng-app属性放在应用程序的根元素上。

于 2012-04-23T15:05:34.077 回答
0

我会考虑可能将测试运行程序放在您的主要测试站点之外的虚拟目录中。

于 2012-10-26T17:21:34.183 回答