2012-04-26 18 views
11

हर बार जब मैं अपना परीक्षण चलाता हूं तो पहला चरण लॉग इन होता है और मुझे पृष्ठ की इच्छा होती है। यदि इस परीक्षण को चलाने में अक्सर लॉग इन ऑपरेशन बहुत समय लगता है।सेलेनियम वेबड्राइवर के साथ कुकीज़ कैसे भेजें?

मैं लॉग इन ऑपरेशन कैसे पास कर सकता हूं?

क्रोम और फ़ायरफ़ॉक्स ड्राइवरों, जावा भाषा का उपयोग करना।

उत्तर

17

इस प्रकार Java API का उपयोग कर कुकीज़ बनाएँ:

Cookie ck = new Cookie("name", "value"); 
driver.manage().addCookie(ck); 

इस प्रकार Python API का उपयोग कर कुकीज़ बनाएँ:

driver.add_cookie({'name': 'foo', 'value': 'bar'}) 
+0

व्यक्तिगत रूप से मुझे ** org.openqa.selenium.UnableToSetCookieException ** कुकी सेट करने में असमर्थ: कोई यूआरएल नहीं है अभी तक लोड किया गया है – KoichiSenada

+0

वही समस्या पूरी हुई, इसे हल करने का कोई तरीका? – linpingta

+0

कुकीज़ को सेट करने से पहले आपको पहले कुछ पेज पर नेविगेट करना होगा (मुझे पता है, यह अजीब है) – xtian

6
driver.manage().addCookie(); 

manage()

The Options interface with Cookies

और Cookie

+1

जावा कोड नीचे जैसा हो सकता है मुझे लगता है: कुकी सीके = नई कुकी ("नाम", "मान"); driver.manage()। AddCookie (सीके); –

+0

लिंक सभी मर चुके हैं –

6

उन name और value अलावा Cookie में अधिक विस्तृत जानकारी निर्धारित करने की आवश्यकता है कि के लिए की सेलेनियम के कार्यान्वयन आप का उपयोग कर सकते हैं:

Cookie cookie = new Cookie.Builder("name", "value") 
    .domain(".mydomain.com") 
    .expiresOn(new Date(2015, 10, 28)) 
    .isHttpOnly(true) 
    .isSecure(false) 
    .path("/mypath") 
    .build(); 

driver.manage().addCookie(cookie); 
1

मेरे मामले में, निम्न कोड ठीक काम कर रहा है

String token = tokenValue.substring(7); 
    Cookie name = new Cookie("Token", token); 
    driver.manage().addCookie(name); 
संबंधित मुद्दे