java - जावा का उपयोग कर सेलेनियम वेबड्राइवर के साथ प्रमाणीकरण पॉपअप को कैसे संभालें




3 Answers

चेतावनी विधि, authenticateUsing() आपको Http मूल प्रमाणीकरण बॉक्स को छोड़ने देता है।

WebDriverWait wait = new WebDriverWait(driver, 10);      
Alert alert = wait.until(ExpectedConditions.alertIsPresent());     
alert.authenticateUsing(new UserAndPassword(username, password));

सेलेनियम 3.4 के रूप में यह अभी भी बीटा में है

अभी कार्यान्वयन केवल InternetExplorerDriver लिए किया जाता है

मैं नीचे दिए गए कोड का उपयोग कर प्रमाणीकरण पॉपअप को संभालने की कोशिश कर रहा हूं:

FirefoxProfile profile = new FirefoxProfile();
profile.setPreference("network.http.phishy-userpass-length", 255);
profile.setPreference("network.automatic-ntlm-auth.trusted-uris", "x.x.x.x");
driver = new FirefoxDriver(profile);
baseUrl="http://" + login + ":" + password + "@" + url;
driver.get(baseUrl + "/");

जब मैं परीक्षण निष्पादित करता हूं, पृष्ठ प्रमाणीकरण पॉपअप दिखाता है और तब तक लोड हो जाता है जब तक कि मैं रद्द बटन पर क्लिक नहीं करता। एक पल, मैं अगले पृष्ठ तक पहुंच सकता हूं, इसका मतलब यह है कि प्रमाणीकरण सफलता लेकिन फिर भी हमेशा प्रमाणीकरण पॉपअप दिखाती है




मुझे इस मुद्दे का सामना मेरे आवेदन में कई बार हुआ।

हम आम तौर पर नीचे दिए गए 2 दृष्टिकोणों के साथ इसे संभाल सकते हैं।

  1. यूआरएल में उपयोगकर्ता नाम और पासवर्ड पास करें

  2. यूआरएल खोलने से पहले आप एक ऑटोआईट स्क्रिप्ट और कॉल स्क्रिप्ट बना सकते हैं।

कृपया नीचे दिए गए लेख की जांच करें जिसमें मैंने दोनों तरीकों का उल्लेख किया है:
सेलेनियम वेबड्राइवर में प्रमाणीकरण / लॉगिन विंडो संभाल लें




यदि आपको CNTLM प्रॉक्सी प्रमाणीकरण से निपटना है तो CNTLM का उपयोग कर एक स्थानीय प्रॉक्सी कॉन्फ़िगरेशन का उपयोग करना एक अच्छा विकल्प है।

प्रमाण पत्र और डोमेन /etc/cntlm.conf में कॉन्फ़िगर किए /etc/cntlm.conf

बाद में आप केवल अपनी प्रॉक्सी का उपयोग कर सकते हैं जो सभी एनटीएलएम सामानों को संभालता है।

DesiredCapabilities capabilities = DesiredCapabilities.chrome();

Proxy proxy = new Proxy();
proxy.setHttpProxy("localhost:3128");
capabilities.setCapability(CapabilityType.PROXY, proxy);

driver = new ChromeDriver(capabilities);



Related