2009-07-17 7 views
8

मैं विंडोज़ पर हूं, और मैं फ़ायरफ़ॉक्स और सेलेनियम आईडीई को एक निर्दिष्ट परीक्षण केस के साथ लॉन्च करना चाहता हूं और वापस खेलने के लिए तैयार हूं।मैं एक विशिष्ट परीक्षण केस के साथ कमांड लाइन से सेलेनियम आईडीई कैसे लॉन्च करूं?

मैं जहाँ तक मिल गया है:

>"C:\Program Files (x86)\Mozilla Firefox\firefox.exe" -chrome "chrome://selenium-ide/content" 

जो फ़ायरफ़ॉक्स और आईडीई की शुरूआत है, लेकिन मैं सेलेनियम आईडीई या क्रोम के बारे में पर्याप्त जानकारी नहीं है किसी भी प्राप्त करने के लिए आगे। मुझे कुछ उम्मीद है:

>"C:\Program Files (x86)\Mozilla Firefox\firefox.exe" -chrome "chrome://selenium-ide/content?test=foo.html" 

समर्थित होने के लिए, लेकिन मुझे सही incantation नहीं मिल रहा है।

पृष्ठभूमि के रूप में, मैं एक स्विंग एप्लिकेशन से टेस्ट केस टेम्पलेट्स उत्पन्न कर रहा हूं और केवल एक बटन-प्रेस के साथ संशोधन और निष्पादन के लिए उन्हें फ़ायरफ़ॉक्स में पेंट करना चाहता हूं। यदि Runtime.getRuntime.exec (theAbove) से ऐसा करने का कोई आसान तरीका है तो मैं सभी कान हूं।

+0

मैं थोड़ा पहले एक मानव संपादित उन्हें की आवश्यकता के बारे में उलझन में हूँ।आपका अंतिम लक्ष्य क्या है? –

+0

क्षमा करें, नहीं कह सकता। कहने के लिए पर्याप्त है कि हाँ, मुझे वास्तव में परिस्थितियों पर निर्भर कदम जोड़ने के लिए, मानव चलाने के पहले उन्हें संपादित करने की आवश्यकता होती है। स्विंग ऐप समय बचाने के लिए बॉयलरप्लेट का एक गुच्छा उत्पन्न करता है। – user60401

+0

यह एक अच्छा संदर्भ हो सकता है: http://kb.mozillazine.org/Command_line_arguments – Rimian

उत्तर

9

आप करीब हैं। सेलेनियम का पृष्ठ TestRunner.html नामक परीक्षण-सूट से परीक्षणों को स्वत: लोड करने और निष्पादित करने के लिए बनाया गया है। की तरह इस प्रकार

c:\Program Files\Mozilla Firefox\firefox.exe" -chrome "chrome://selenium-ide/content/selenium-core/TestRunner.html?baseUrl=http://[BASEURL]&test=file:///[TESTSUITE-PATH]&auto=false" 

यह निर्दिष्ट पथ पर परीक्षण सूट से सभी परीक्षणों के साथ फ़ायरफ़ॉक्स fireup होगा आप इसे आह्वान कर सकते हैं अप और एक बटन प्रेस में निष्पादित करने के लिए इंतजार कर भरी हुई।

उदाहरण

सेलेनियम परीक्षण की एक जोड़ी बनाने के बाद के लिए, testcase1.html और एक फ़ोल्डर में testcase2.html के रूप में testcases बचाने कहना c: \ परीक्षण।

testuite को उसी फ़ोल्डर में testuite.html के रूप में सहेजें। अब आप नीचे दिए गए कमांड लाइन के साथ परीक्षणों के इन सूट लॉन्च कर सकते हैं।

c:\Program Files\Mozilla Firefox\firefox.exe" -chrome "chrome://selenium-ide/content/selenium-core/TestRunner.html?baseUrl=http://localhost&test=file:///c:\tests\testsuite.html&auto=false" 

आपके पास निष्पादित करने के लिए तैयार फ़ायरफ़ॉक्स में परीक्षण होना चाहिए।

यदि आप उपरोक्त यूआरएल को ऑटो पैरामीटर को सही करने के लिए बदलते हैं, तो यह लॉन्च के बाद भी परीक्षण चलाएगा।

&auto=true 

संपादित करें:

अपडेट किया गया baseurl तर्क उचित केस संवेदी फार्म के लिए: baseUrl

अपडेट किया गया पथ के लिए TestRunner.html रहे हैं: chrome://selenium-ide/content/selenium-core/TestRunner.html

+0

क्षमा करें, मुझे स्पष्ट होना चाहिए था। मुझे तुरंत परीक्षण चलाने की आवश्यकता नहीं है। उन्हें पहले कुछ मानव संपादन की आवश्यकता है, जिसका अर्थ है कि मुझे उन्हें चलाने से पहले उन्हें आईडीई में लोड करना होगा। मैं नहीं देखता कि टेस्टरुनर से आईडीई तक कैसे पहुंचे। – user60401

+1

बह, बहुत जल्दी सबमिट किया गया। मेरा कहना था "मैं तुरंत परीक्षण नहीं चला सकता।" – user60401

+0

मैंने XUL फ़ाइलों को देखा है जो एक्सटेंशन xpi में सेलेनियम-आईडीई बनाते हैं और वे परीक्षण फ़ाइलों को यूआरएल पैरामीटर के रूप में लोड नहीं कर रहे हैं। इसलिए यदि आप इसके ऊपर हैं तो आप एक्सयूएल को संशोधित कर सकते हैं और यूआरएल पैरा से पढ़ने के लिए कुछ स्क्रिप्ट लिख सकते हैं और फिर इसे उपरोक्त की तरह बुला सकते हैं। – Pradeep

6

यदि आप कमांडलाइन से फ़ायरफ़ॉक्स के साथ टेस्टाइट चलाने के लिए चाहते हैं, तो आपको फ़ायरफ़ॉक्स नहीं चलाने के लिए जावा शुरू करना होगा। इस तरह:

C:\Program Files (x86)\Java\jre6\bin\java.exe" -jar c:\seltest\selenium-server-standalone-2.18.0.jar -htmlSuite "*firefox" "http://127.0.0.1" "c:\seltest\mytestsuite.html" "c:\seltest\logs\results-firefox.html" -port 5555 

- Freek Borgerink

+0

शायद यह अब सेलेनियम 3 में समर्थित नहीं है (जिसके लिए एक अलग वेबड्राइवर की आवश्यकता है)। 'जावा-सेजेनियम-सर्वर-स्टैंडअलोन-3.0.0-बीटा 2.जर -help' एक -htmlSuite विकल्प नहीं लौटाता है, और आपकी कमांडलाइन एक अपवाद देता है –