2012-08-29 16 views
6

के साथ प्रॉक्सी का उपयोग करते समय जब आप प्रॉक्सी सर्वर को प्रमाणीकरण की आवश्यकता होती है तो नीचे दिए गए कोड में प्रॉक्सी सर्वर पैरामीटर सेट करते हैं तो फ़ायरफ़ॉक्स प्रमाणीकरण संवाद लाएगा और मूल रूप से आप इसे स्वचालित रूप से भर नहीं सकते हैं। तो उपयोगकर्ता नाम और PASSWORD सेट करने के लिए वैसे भी है?सी # सेलेनियम वेबड्राइवर फ़ायरफ़ॉक्स प्रोफाइल - प्रमाणीकरण

FirefoxProfile profile = new FirefoxProfile(); 
String PROXY = "192.168.1.100:8080"; 
OpenQA.Selenium.Proxy proxy = new OpenQA.Selenium.Proxy(); 
proxy.HttpProxy=PROXY; 
proxy.FtpProxy=PROXY; 
proxy.SslProxy=PROXY; 
profile.SetProxyPreferences(proxy); 
FirefoxDriver driver = new FirefoxDriver(profile); 

आपको लगता है कि http://username:[email protected]:8080 की तरह कुछ करने के लिए प्रॉक्सी स्ट्रिंग स्वरूपित करने के लिए प्रयास करते हैं तो आपको लगता है कि स्ट्रिंग त्रुटि मिलती है अमान्य है। इसलिए मुझे आश्चर्य है कि इसे प्राप्त करने का एक तरीका होना चाहिए।

किसी भी मदद की सराहना की जाएगी।

+0

मुझे अभी तक इसका जवाब नहीं मिला है, इस समय मैंने अपने प्रॉक्सी सर्वर पर प्रमाणीकरण अक्षम कर दिया है और इसे आईपी रेंज द्वारा अनुमति दी है ताकि अब के लिए काम की तरह। – Tim

+0

'ProfilesIni' त्रुटि प्राप्त करने के लिए मुझे किस संदर्भ की आवश्यकता है' टाइप या नेमस्पेस नाम 'ProfilesIni' नहीं मिला ' –

उत्तर

0

आप एक प्रोफ़ाइल बनाने और प्रमाणीकरण डेटा को सहेजने के लिए क्या कर सकते हैं। तो आपकी प्रोफ़ाइल को कहा जाता है "webdriver" आप प्रारंभ में अपने कोड से उसका चयन कर सकते हैं:

ProfilesIni allProfiles = new ProfilesIni(); 
FirefoxProfile profile = allProfiles.getProfile("WebDriver"); 
profile.setPreferences("foo.bar",23); 
WebDriver driver = new FirefoxDriver(profile); 
+0

यह बहुत रोचक है, अगर मुझे – Tim

+0

शानदार काम करता है तो मुझे कोशिश करनी चाहिए और रिपोर्ट करनी चाहिए! कृपया मुझे सूचित रखें :) –

+0

ProfilesIni में कौन सा नेमस्पेस है? :/... –

2
 String PROXY = "http://login:[email protected]:port"; 
     ChromeOptions options = new ChromeOptions(); 

     options.AddArguments("user-data-dir=path/in/your/system"); 

     Proxy proxy = new Proxy(); 

     proxy.HttpProxy = PROXY; 
     proxy.SslProxy = PROXY; 
     proxy.FtpProxy = PROXY; 

     options.Proxy = proxy; 

     // Initialize the Chrome Driver 
     using (var driver = new ChromeDriver(options)) 
0

AutoIt बिना एमएस यूआई स्वचालन के साथ किया:

public void AuthInProxyWindow (string login, string pass) 
    { 
     var proxyWindow = AutomationElement.RootElement 
      .FindFirst(TreeScope.Subtree, 
       new PropertyCondition(AutomationElement.ClassNameProperty, "MozillaDialogClass")); 

     var edits = proxyWindow.FindAll(TreeScope.Subtree, 
      new PropertyCondition(AutomationElement.ControlTypeProperty, ControlType.Edit)); 

     var unamePoint = edits[1].GetClickablePoint(); 
     Mouse.MoveTo(new Point((int) unamePoint.X, (int) unamePoint.Y)); 
     Mouse.Click(MouseButton.Left); 

     SendKeys.SendWait(login); 
     var pwdPoint = edits[2].GetClickablePoint(); 
     Mouse.MoveTo(new Point((int) pwdPoint.X, (int) pwdPoint.Y)); 
     Mouse.Click(MouseButton.Left); 
     SendKeys.SendWait(pass); 

     Keyboard.Press(Key.Return); 
     Logger.Debug("Authefication in Firefox completed succesfully"); 
    } 

माउस Microsoft.TestApi से ले जाता है

संबंधित मुद्दे