Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在量角器中设置cookies_Javascript_Angularjs_Selenium_Cookies_Protractor - Fatal编程技术网

Javascript 在量角器中设置cookies

Javascript 在量角器中设置cookies,javascript,angularjs,selenium,cookies,protractor,Javascript,Angularjs,Selenium,Cookies,Protractor,我试图在量角器测试用例中设置cookie。我们使用的是量角器3.3.0、Angular 1.5.x和Node.js 6.9.1 这是规范: (function() { 'use strict'; describe('Dummytest', function() { beforeEach(function() { browser.get('./'); }); it('should set a cookie'

我试图在量角器测试用例中设置cookie。我们使用的是量角器3.3.0、Angular 1.5.x和Node.js 6.9.1

这是规范:

(function() {
    'use strict';

    describe('Dummytest', function() {
        beforeEach(function() {
            browser.get('./');
        });

        it('should set a cookie', function() {
            browser.manage().addCookie("test", "fail_cookie", '/', 'localhost');
        });
    });
})();
这是我收到的错误消息:

Message: Failed: {"errorMessage":"Unable to set Cookie","request":{"headers":{"Accept-Encoding":"gzip,deflate","Connection":"Keep-Alive","Content-Length":"165","Content-Type":"application/json; charset=utf-8","Host":"localhost:45556","User-Agent":"Apache-HttpClient/4.5.1 (Java/1.8.0_77)"},"httpVersion":"1.1","method":"POST","post":"{\"cookie\":{\"path\":\"/\",\"domain\":\"localhost\",\"name\":\"test\",\"httpOnly\":false,\"hCode\":3556498,\"secure\":false,\"value\":\"fail_cookie\",\"class\":\"org.openqa.selenium.Cookie\"}}","url":"/cookie","urlParsed":{"anchor":"","query":"","file":"cookie","directory":"/","path":"/cookie","relative":"/cookie","port":"","host":"","password":"","user":"","userInfo":"","authority":"","protocol":"","source":"/cookie","queryKey":{},"chunks":["cookie"]},"urlOriginal":"/session/68875d10-f7b4-11f6-8f37-71161903ed83/cookie"}} Build info: version: '2.52.0', revision: '4c2593c', time: '2016-02-11 19:06:42' System info: host: 'XXXXXXXXX', ip: '10.##.##.230', os.name: 'Windows 7', os.arch: 'x86', os.version: '6.1', java.version: '1.8.0_77' Driver info: driver.version: unknown Stack: UnableToSetCookieError: {"errorMessage":"Unable to set Cookie","request":{"headers":{"Accept-Encoding":"gzip,deflate","Connection":"Keep-Alive","Content-Length":"165","Content-Type":"application/json; charset=utf-8","Host":"localhost:45556","User-Agent":"Apache-HttpClient/4.5.1 (Java/1.8.0_77)"},"httpVersion":"1.1","method":"POST","post":"{\"cookie\":{\"path\":\"/\",\"domain\":\"localhost\",\"name\":\"test\",\"httpOnly\":false,\"hCode\":3556498,\"secure\":false,\"value\":\"fail_cookie\",\"class\":\"org.openqa.selenium.Cookie\"}}","url":"/cookie","urlParsed":{"anchor":"","query":"","file":"cookie","directory":"/","path":"/cookie","relative":"/cookie","port":"","host":"","password":"","user":"","userInfo":"","authority":"","protocol":"","source":"/cookie","queryKey":{},"chunks":["cookie"]},"urlOriginal":"/session/68875d10-f7b4-11f6-8f37-71161903ed83/cookie"}} Build info: version: '2.52.0', revision: '4c2593c', time: '2016-02-11 19:06:42' System info: host: 'XXXXXXXXXXXXX', ip: '10.##.##.230', os.name: 'Windows 7', os.arch: 'x86', os.version: '6.1', java.version: '1.8.0_77' Driver info: driver.version: unknown at WebDriverError (C:\Users\[username]\dev\project\node_modules\selenium-webdriver\error.js:27:5) 这是我得到的输出:

cookie test { path: '/', domain: '127.0.0.1', name: 'test', httpOnly: false, hCode: 3556498, secure: false, value: 'fail_cookie', class: 'org.openqa.selenium.Cookie' } cookie test 2 null cookie测试{路径:'/', 域:“127.0.0.1”, 名称:'测试', httpOnly:false, hCode:3556498, 安全:错误, 值:'fail_cookie', 类:'org.openqa.selenium.Cookie'} cookie测试2为空 正如您所看到的,在调用
browser.get('./')
时,没有为我到达的域设置cookie。如何为该域设置cookie而不触发原始问题中的错误

编辑2:

找到另一个问题(),该问题要求首先调用
browser.driver.get
,然后设置cookie,但这样做会得到与我一直得到的相同的
UnableToSetCookieError
。因此,解决办法是另一回事

编辑3:

半相关的一点是,我一直很难找到
addCookie
函数及其参数的文档。尤其是现在,在最新版本(2016-01-31)的量角器中,它需要的是一个对象,而不是参数列表。但我最终找到了它,并认为我最好在这里添加一个链接:

编辑4:


越来越近了!将域设置为
.localhost
(注意开头的点(.))似乎有效。将进行进一步调查并报告。同时,如果有人能告诉我为什么这个点很重要,以及为什么这个确切的域有效,我将非常感激:)

在我的dragrator.conf.js中将baseUrl设置为127.0.0.1似乎可以解决我一直面临的类似问题。

看看这个:。这可能会有帮助吗?嗨,托比,有什么消息吗?为了分享结果,也许你可以回答自己的问题?我读到使用
localhost
有问题,使用
127.0.0.1
更可取,但我还是新手,还试图保持会话的活跃性。废话。很抱歉,我忘了回到这里,现在我已经忘记了解决方案是什么:(我现在在一家新公司工作,不再能够访问所需的代码。 cookie test { path: '/', domain: '127.0.0.1', name: 'test', httpOnly: false, hCode: 3556498, secure: false, value: 'fail_cookie', class: 'org.openqa.selenium.Cookie' } cookie test 2 null