加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angularjs – 在浏览器之前设置cookie

发布时间:2020-12-17 09:04:10 所属栏目:安全 来源:网络整理
导读:我们的( PHP)应用程序需要设置某些cookie才能加载Angular.js客户端应用程序.如果未设置cookie,则抛出异常并显示错误页面. 这意味着为了运行E2E测试,我们需要设置cookie,但是以下操作失败,因为量角器试图在browser.get调用之后找到Angular权限(它不在那里,因
我们的( PHP)应用程序需要设置某些cookie才能加载Angular.js客户端应用程序.如果未设置cookie,则抛出异常并显示错误页面.

这意味着为了运行E2E测试,我们需要设置cookie,但是以下操作失败,因为量角器试图在browser.get调用之后找到Angular权限(它不在那里,因为异常被抛出).

browser.get('http://' + domain + '/');
browser.manage().addCookie('foo','boo','/',domain);

设置cookies后,我尝试调用browser.get:

browser.manage().addCookie('foo',domain);
browser.get('http://' + domain + '/');

但这会产生以下错误:

Failed to set the ‘cookie’ property on ‘Document’: Cookies are
disabled inside ‘data:’ URLs.

有没有办法处理这种情况?也许告诉量角器在执行第一个browser.get调用或者以某种方式在调用获取URL之前为我们的域设置cookie时,不要检查Angular?

我在 Protractor Getting Started文档中找到了解决方案:
browser.driver.get('http://' + domain + '/');
browser.manage().addCookie('foo',domain);

注意browser.driver.get而不是browser.get.这将阻止量角器寻找Angular应用程序,并且可以设置cookie.然后我在其中使用另一个browser.get语句.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读