Testing E2E测试远程AngularJS应用程序
我正试图用Karma Test Runner实现对现有AngularJS应用程序的E2E测试。我的应用程序位于Testing E2E测试远程AngularJS应用程序,testing,angularjs,cross-domain,karma-runner,end-to-end,Testing,Angularjs,Cross Domain,Karma Runner,End To End,我正试图用Karma Test Runner实现对现有AngularJS应用程序的E2E测试。我的应用程序位于host1.internal上,我位于host2.internal上。因此,在我的karma配置文件中,我有: proxies = { '/': 'http://host1.internal/', }; 登录前,它会显示index.html中的不同,但登录后,它会使用ng hide='loggedIn'隐藏所有可见的div之前的内容。问题是,正在使用AngularJS路由配置为获取
host1.internal
上,我位于host2.internal
上。因此,在我的karma配置文件中,我有:
proxies = {
'/': 'http://host1.internal/',
};
登录前,它会显示index.html
中的不同
,但登录后,它会使用ng hide='loggedIn'
隐藏所有可见的div之前的内容。问题是,正在使用AngularJS路由配置为
获取部分视图文件,如下所示:
$routeProvider.
when('/', {
controller: overviewController,
templateUrl: 'views/overview.html',
// templateUrl: 'http://host2.internal/views/overview.html',
title_prefix: 'Home'
}).
etc. etc. etc.
我在浏览器的控制台中发现以下错误:
GET http://localhost:9876/views/homepage.html 404 (Not Found)
正如您在routing config代码片段中所看到的,我尝试获取带有完整URL的模板,但不幸的是,请求不是简单的GET
,而是OPTIONS
(我不确定为什么?)
如何在Karma配置中正确配置代理,以便获取这些静态文件?还是其他解决方案
谢谢 我找到了这个问题的解决方案,我使用了
$templateCache
。这样,所有html文件都将与我的index.html
上的所有其余脚本一起加载到一个.js文件中
如果你像我一样使用咕噜,看看
干杯 当您启动karma时,是否会看到一条关于urlRoot的警告消息?
[WARN]config-urlRoot被规范化为“/e2e/”
,但这是因为我在karma配置文件中已将urlRoot设置为该名称。如果没有urlRoot,它甚至无法加载我的应用程序首页。