我正在将AngularJS用于我的Web应用程序。要进行e2e路由场景测试,基于教程,我需要做一些像browser()。navigateTo('../../ app / index.html')。但是,我使用cshtml作为我的主视图,它被阻止直接服务器浏览。所以我不能做像浏览器那样的东西.waveTo('../../ app / index.cshtml')。
我希望浏览器导航到应用程序根目录而不是特定文件。我做的事情就像浏览器()。navigateTo('../../')。但是,我收到以下错误“TypeError:无法调用未定义的'$ browser'方法”。我认为这是因为index.cshtml中的“ng-app”不包括在内。有没有简单的方法来解决这个问题?
答案 0 :(得分:3)
您可以浏览任何网址,但它必须位于同一个网域,因为相同的域策略(场景转换器需要访问iframe中的应用)。
这可以通过代理来解决。 或者您可以通过应用服务器为场景运行器(runner.html)提供服务,这可能是更简单的解决方案。
您需要ng-app
,以便场景运行器可以找到$ injector,所以即使您进行手动引导,也要将ng-app
属性放到应用的根元素上。
答案 1 :(得分:0)
我会考虑将测试运行器放在主测试站点的虚拟目录中。