-
使用谷歌浏览器进行E2E测试时:
-
方法1:
找到
protractor.conf.js
配置文件配置浏览器属性(禁用谷歌同源策略):
capabilities: { 'browserName': 'chrome', 'chromeOptions': { 'args': ['--disable-web-security','--user-data-dir=C:/Data'] } },
其中
--user-data-dir
的值可以自定义指定。其余配置可参照
-
方法2(推荐):
创建
proxy.conf.json
配置文件,配置代理举例:angular运行在localhost:4200,需要访问地址在localhost:8080的
api
,api
的url
为localhost:8080/api/user/
,那么配置如下即可(angular代码中的url
常量就不需要添加主机地址localhost:8080
了,直接使用api/user/
即可):{ "/api/*": { // 要访问的api的url "target": "http://localhost:8080", // 要访问的后台服务的主机地址 "secure": false, "loglevel": "debug", "changeOrigin": true } }
找到工程中的
angular.json
配置文件配置跨域策略属性:
{ "projects": { ... ... "project-name": { "architect": { "build": { "configurations": { "production": { ... }, } }, "serve": { "builder": ..., "options": { "browserTarget": ..., "proxyConfig": "proxy.conf.json" // 添加 } } } } } }
配置完成之后,启动e2e测试即可解决跨域问题
-
-
使用IE浏览器进行E2E测试时:
-
方法同谷歌配置的方法2,只需要在es5配置中添加
"proxyConfig": "proxy.conf.json"
即可:{ "projects": { ... ... "project-name": { "architect": { "build": { "configurations": { "production": { ... }, } }, "serve": { "builder": ..., "options": { "browserTarget": ..., "proxyConfig": "proxy.conf.json" }, // 添加 "es5": { "browserTarget": "mainpage:build:es5", "proxyConfig": "proxy.conf.json" } } } } } }
配置完成后启动即可。
-
E2E测试时跨域问题的解决办法
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 在ionic项目中,如果你使用ionic serve或者ionic run,并且开启了动态加载(live relo...
- 在ionic项目中,如果你使用ionic serve或者ionic run,并且开启了动态加载(live relo...
- 导语 Angular2(已经统一更名为Angular,而Angular1表示1.x版本,以下统称Angular都是...