2010-08-06 8 views
26

सेलेनियम 2 चलाते समय फ़ायरफ़ॉक्स में फ़ायरबग को सक्रिय करने का सबसे अच्छा तरीका क्या है?मैं सेलेनियम वेबड्राइवर (सेलेनियम 2) के भीतर फायरबग कैसे चला सकता हूं?

संपादित करें: ठीक है, मुझे एहसास है कि "सर्वोत्तम" व्याख्या के लिए खुला है, लेकिन प्रोफाइल-आधारित समाधान वास्तव में सेलेनियम 1.0 के साथ दर्द होता था। इसलिए किसी भी विकल्प को और भी खराब साबित होने तक बेहतर माना जाता है;)

उत्तर

47

आप कर सकते हैं कोड में अपनी प्रोफ़ाइल बनाएं और गतिशील रूप से आवश्यक ऐड-ऑन जोड़ें। आइए मान लें कि आपने फायरबग XPI को C: \ FF_Profile फ़ोल्डर में firebug.xpi के रूप में सहेजा है (Firebug download page पर जाएं, "फ़ायरफ़ॉक्स में जोड़ें" पर राइट-क्लिक करें और C: \ FF_Profile \ firebug.xpi के रूप में सहेजें)।

कोड में:

final String firebugPath = "C:\\FF_Profile\\firebug.xpi"; 
    FirefoxProfile profile = new FirefoxProfile();  
    profile.addExtension(new File(firebugPath)); 
    // Add more if needed 
    WebDriver driver = new FirefoxDriver(profile); 

यह WebDriver FAQ

+1

आपका एक्सक्लूस एफएचक से कुछ बेहतर है, धन्यवाद! – krosenvold

+0

यदि मैं कर सकता तो यह पूरी तरह से अद्भुत +100 है। खुद को सेलेनियम 2 के लिए माइग्रेट कर देता है – krosenvold

+0

सेलेनियम 2 की कई चीजें हैं जो माइग्रेशन के लिए समय व्यतीत करती हैं। व्यक्तिगत रूप से मैंने पाया कि पेज ऑब्जेक्ट पैटर्न बहुत सुविधाजनक है और गतिशील/AJAX वेब ऐप्स का परीक्षण बहुत आसान बनाता है। तो मैं वास्तव में वेबड्राइवर से प्यार करता हूं :) –

10

क्या आपका मतलब है कि वेबड्राइवर लॉन्च होने वाले ब्राउज़र उदाहरण में फ़ायरबग स्थापित है? यदि हां, तो आप एक विस्तार है जब आप ड्राइवर का दृष्टांत पारित कर सकते हैं, लेकिन eaisest तरह से स्थापित फ़ायरबग के साथ एक फ़ायरफ़ॉक्स प्रोफ़ाइल बनाने के लिए और इससे पहले कि आप ड्राइवर का दृष्टांत उसके बाद निम्न कोड का उपयोग है:

System.setProperty("webdriver.firefox.profile", "NAME_OF_FIREFOX_PROFILE_WITH_FIREBUG");

+0

यह 1.0 में किया गया तरीका कम या कम है और फ़ायरफ़ॉक्स को अपग्रेड होने पर यह हमेशा परेशानी हो जाती है। मैं वास्तव में विस्तार में गुजरना चाहता हूं .... – krosenvold

1

में वर्णन किया गया बस नाम से अपने प्रोफ़ाइल के संदर्भ हैं। रुबी में उदाहरण:

@driver = Selenium::WebDriver.for :firefox, :profile => "default" 

फिर, सामान्य रूप से फ़ायरफ़ॉक्स लोड करें, और अपने वांछित एक्सटेंशन जोड़ें। वे अब आपके सेलेनियम परीक्षण रनों में दिखाई देंगे।

1

जाहिर है कि सेलेनियम वेबड्राइवर में फ़ायरफ़ॉक्स-प्रोफाइल विकल्पों का उपभोग किया गया है।

वर्ष कमांडलाइन (सेलेनियम आर सी):

java -jar selenium-2.28.0.jar -firefoxProfileTemplate ~/.mozilla/firefox/3knu5vz0.selenium 

WebDriver के लिए अपडेट किया गया: (ध्यान दें कि यह निर्देशिका के बजाय प्रोफ़ाइल नाम चाहता है)

java -jar selenium-2.28.0.jar -Dwebdriver.firefox.profile=selenium 
-2

यह मानते हुए कि, Firebug है स्थापित। आपका उद्देश्य फायरबग चलाने के लिए है। फायरबग को एफ 12 कुंजी दबाने से चलाया जा सकता है/निष्पादित किया जा सकता है। तो Firebug जावा के साथ सेलेनियम WebDriver की निम्न आदेश द्वारा चलाया जा सकता है: \ Users \ उपयोगकर्ता के नाम \ AppData \ रोमिंग \ मोज़िला \ फ़ायरफ़ॉक्स \ प्रोफाइल \ sgmqi7hy:

Actions action = new Actions(driver); 
action.sendKeys(Keys.F12).build().perform(); 
0

सी की तरह कुछ करने के लिए अपने फ़ायरफ़ॉक्स स्थान को संशोधित। डिफ़ॉल्ट सेलेनियम/वेबड्राइवर से अपने फ़ायरफ़ॉक्स को लॉन्च करें अपनी सभी आवश्यक सेटिंग्स सेलेनियम/वेबड्राइवर से फ़ायरफ़ॉक्स ब्राउज़र को बंद करें और पुनरारंभ करें, यह आपकी समस्या हल करता है !!

0

मुझे ~/.mozialla/फ़ायरफ़ॉक्स/में एक profiles.ini मिला। वहां डिफ़ॉल्ट नाम की एक प्रोफ़ाइल थी, जिसे मैंने निम्नलिखित की तरह निर्दिष्ट किया था और फिर परीक्षण में फ़ायरफ़ॉक्स खोला गया था जैसे कि मैंने इसे नियमित रूप से खोला (सभी प्लगइन्स आदि के साथ)।

java -jar selenium.jar -Dwebdriver.firefox.profile=default 
0

यदि उपरोक्त में से कोई भी विकल्प काम नहीं करता है। फिर इसे आज़माएं।

  • 1) ओपन टर्मिनल और कमांड नीचे प्रकार (बंद सभी मौजूदा फ़ायरफ़ॉक्स सत्र पहले)

फ़ायरफ़ॉक्स -p

  • 2) यह एक नया फ़ायरफ़ॉक्स बनाने का विकल्प खुल जाएगा प्रोफ़ाइल।
  • 3) एक प्रोफ़ाइल बनाएं "SELENIUM" कहें।
  • 4) एक बार फ़ायरफ़ॉक्स तुरंत खुलने के बाद फ़ायरबग या अन्य प्लगइन्स एक्सटेंशन इंस्टॉल करें जो आप चाहते हैं। एक बार खिड़की बंद कर दिया।
  • 5) अब सेलेनियम के माध्यम से इस नई प्रोफ़ाइल को लोड करें, जावा कथन के नीचे उपयोग करें।

    ProfilesIni प्रोफाइल = नई प्रोफाइलइनी();

    फ़ायरफ़ॉक्सप्रोफाइल ffprofile = profile.getProfile ("SELENIUM");

    वेबड्राइवर ड्राइवर = नया फ़ायरफ़ॉक्स ड्रायवर (एफएफप्रोफाइल);

  • 6) हो गया। का आनंद लें।

0

मैं देखा है कि फ़ायरबग ब्राउज़र को जोड़ने है और यह डिफ़ॉल्ट रूप से अक्षम है और न सक्षम होने पर, जब मैं webdriver का उपयोग करके रनटाइम पर फ़ायरफ़ॉक्स को फ़ायरबग जोड़ें। तो इसे सक्षम करने के लिए हमें नीचे दी गई रेखा को प्रोफ़ाइल में जोड़ना पड़ सकता है।

profile.setEnableNativeEvents(true); 
संबंधित मुद्दे