当我尝试在量角器中设置cookie时,我收到以下错误消息:
失败:无效参数:缺少'name'
(会话信息:chrome = 61.0.3163.100)
我使用下面的不同代码在量角器中设置cookie。但是他们都没有工作。
案例1:
browser.get('http://localhost:8080');
browser.driver.manage().addCookie('test', 'test');
案例2:
browser.get('http://localhost:8080');
protractor.browser.manage().addCookie({ 'name': 'test', 'value': 'test', 'path': '/', 'domain': 'localhost' });
案例3:
browser.get('http://localhost:8080');
browser.manage().addCookie('test', 'test', '/', 'localhost');
我正在使用量角器5.2版运行代码。
任何人都可以帮助我吗?提前谢谢。
答案 0 :(得分:6)
我解决了我的问题。下面的代码对我有用。
(browser.manage() as any).addCookie({ name: 'test', value: 'test', domain: 'localhost' });
答案 1 :(得分:0)
browser.get('http://127.0.0.1:8000');
browser.manage().addCookie('test', 'test', '/', '127.0.0.1');
问题在于使用localhost,而是使用127.0.0.1
请进一步阅读有关量角器here
的问题答案 2 :(得分:0)
相对于browser.driver.get()
,更喜欢使用browser.get()
。
只要browser.driver.get()
返回一个承诺,您就应该考虑到它:
browser.driver.get('http://' + domain + '/').then(() => {
browser.manage().addCookie({name: 'foo', value: 'boo'});
});
还请注意,在这种情况下,您无需将域值传递给addCookie
,因为量角器默认情况下将使用当前域。这还将解决Mohan Ram提到的localhost
的问题