2017-01-31 6 views
2

分度器のテストケースでクッキーを設定しようとしています。分度器のクッキーを設定する

 
    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) 

(function() { 
    'use strict'; 

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

     it('should set a cookie', function() { 
      browser.manage().addCookie("test", "fail_cookie", '/', 'localhost'); 
     }); 
    }); 
})(); 

これは私が取得エラーメッセージです:私たちは、これは仕様です分度器3.3.0、角度の1.5.xとのNode.js 6.9.1

を使用しています

私は間違って何をしていますか?

EDIT:

私はさらにいくつかの実験を行ってきました。私はドメインを変更し、成功したクッキーの読み書きの前にはbrowser.getがないことに注意してください。

(function() { 
    'use strict'; 

    describe('Dummytest', function() { 
     it('should set a cookie', function() { 
      browser.manage().addCookie("test", "fail_cookie", '/', '127.0.0.1'); 
      browser.manage().getCookie('test').then(function(cookie) { 
       console.log('cookie test', cookie); 
       browser.get('./'); 
       browser.manage().getCookie('test').then(function(cookie) { 
        console.log('cookie test 2', cookie); 
       }); 
      }); 
     }); 
    }); 
})(); 

そして、これは私が手に出力されます:

 
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 

クッキーは私がbrowser.get('./')を呼び出すときに到着したドメインに対して設定されていない見ることができるように。元の質問のエラーをトリガーせずに、そのドメインのCookieを設定するにはどうすればよいですか?

EDIT 2:

が最初browser.driver.getを呼び出すように述べている別の質問(Setting cookies before browser.get)を発見し、その後クッキーを設定するが、私はいつもなってきたと私は同じUnableToSetCookieErrorを得ることをやって。だから解決策は別のものです。

EDIT 3:

半関連のノートで、私はaddCookie機能とそのパラメータのドキュメントを見つけるの本当の苦労してきました。最新の(2016-01-31現在)分度器のバージョンでは、それはオブジェクトであり、パラメータのリストではないことを期待しています。しかし、私は最終的にそれを発見し、私はここにもリンクが含まかもしれないと思った:近づい

https://github.com/SeleniumHQ/selenium/blob/022644c47c643ce6fe797d65e074329190129c1b/javascript/node/selenium-webdriver/lib/webdriver.js#L1075

EDIT 4を!ドメインを.localhostに設定すると(最初にドット(。)が表示されます)、動作するようです。さらなる調査を行い、報告を返す。その間に誰かがなぜ私のドットが重要であるのか、その正確なドメインがなぜ機能するのかを教えてもらえれば大変感謝しています:)

+0

これを見てください:http://stackoverflow.com/questions/489369/can-i-use-localhost-as-the-domain-when-setting-an-http-cookieこれはおそらく助けになるだろうか? – cnishina

+1

こんにちは@Tobbe、すべてのニュース?結果を共有するためにあなた自身の質問に答えることができますか?私は 'localhost'を使って問題があることを読んだので、' 127.0.0.1'を使うのがお勧めですが、私はまだ新しいですし、セッションも生き生きとしています。 – firepol

+0

クラップス。申し訳ありませんが、これを忘れてしまった今、私は解決策が何であったかを忘れてしまいました。(私は今、新しい会社に勤務しており、これが必要だったコードにアクセスできなくなりました。 – Tobbe

答えて

1

protractor.conf.jsでbaseUrlを127.0.0.1に設定すると、私が直面している問題。

関連する問題