8

हम .NET परीक्षणों के लिए NANT/NUnit के साथ .NET वेब अनुप्रयोगों के निरंतर एकीकरण के लिए जेनकींस का उपयोग करते हैं। जेनकींस 9 गुलामों के साथ कॉन्फ़िगर किया गया है (जिनमें से सभी विंडोज सर्वर 2003 हैं) जो कई स्वचालित परीक्षणों के साथ-साथ कई बनाता है।जेनकिन्स पर जेएस-टेस्ट-ड्राइवर कार्य के लिए दूरस्थ ब्राउज़र का उपयोग कैसे करें?

हम अपने जावास्क्रिप्ट यूनिट परीक्षण चलाने के लिए जेएस-टेस्ट-ड्राइवर स्थापित करने की कोशिश कर रहे हैं और नीचे NANT कार्य डेवलपर वर्कस्टेशन पर स्थानीय रूप से अच्छी तरह से काम कर रहा है। इंटरनेट एक्सप्लोरर एकमात्र ब्राउज़र है जिसे हम परीक्षण करना चाहते हैं, क्योंकि यह हमारे सभी वेब अनुप्रयोगों के लिए एकमात्र लक्ष्य ब्राउज़र है।

<target name="jsTests" > 
    <echo message="Running JavaScript tests..." /> 
    <exec program="java.exe"> 
     <arg line="-jar '${jstestdriver.dir}\JsTestDriver.jar'" /> 
     <arg line="--config '${ui.webtests.dir}\JsTestDriver.conf'" /> 
     <arg line="--port 9876"/> 
     <arg line="--browser 'C:\program files\internet explorer\iexplore.exe'"/> 
     <arg line="--verbose"/> 
     <arg line="--reset"/> 
     <arg line="--tests all"/> 
     <arg line="--testOutput '${results.jstestdriver.dir}'"/> 
    </exec> 
</target> 

हम जेनकींस पर एक ही कार्य के साथ समस्या हो रही है, शायद इसलिए क्योंकि:

  1. यह एक सर्वर है और हम एक सेवा खाते के रूप में चल रहे हैं
  2. वहाँ ब्राउज़र स्थापना पर सुरक्षा प्रतिबंध नहीं है सर्वर पर

js-test-driver wiki पर GettingStarted पेज हम ब्राउज़र चला सकते हैं का कहना है जहां js परीक्षण चालक सर्वर चल रहा है की तुलना में एक अलग मशीन पर रों:

आप अपने परीक्षण आप परीक्षण सर्वर और कब्जा कम से कम एक गुलाम ब्राउज़र शुरू करने की आवश्यकता के किसी भी चला सकते हैं इससे पहले कि। सर्वर को मशीन पर रहने की आवश्यकता नहीं है जहां परीक्षण धावक है, और ब्राउज़र स्वयं विभिन्न मशीनों पर भी हो सकते हैं।

  1. किसी जेनकींस/विंडोज सेटअप पर यह किया गया है?
  2. क्या जेएस-टेस्ट-ड्राइवर चलाने के लिए स्केलेबल सेटअप के लिए कोई अन्य विकल्प हैं?

उत्तर

2

मैंने कुछ ऐसा किया है लेकिन 100% विंडोज सेटअप में नहीं, लेकिन मुझे लगता है कि आपको विंडोज़ पर कुछ ऐसा करने में कोई समस्या नहीं है।

मेरे मामले में, मुझे अधिक ब्राउज़रों पर परीक्षण करना पड़ा: आई 7, आईई 8, आईई 9, क्रोम, सफारी, फ़ायरफ़ॉक्स 3.6 और नवीनतम संस्करण, इसलिए, मैंने जो किया है, वह सभी ब्राउज़रों के साथ वर्चुअल मशीन स्थापित कर रहा था। की जरूरत है, और jstestdriver के साथ एक और मशीन सर्वर मोड पर चल रहा है:

java -Xmx256m -jar JsTestDriver-1.3.4-a.jar --port 4224 

सभी ब्राउज़रों के साथ आभासी मशीन, हमेशा उन्हें उस सर्वर की ओर इशारा करते का एक उदाहरण है (http: // [jstd-server-आईपी]: 4224/कैप्चर)

उन मशीनों पर मैंने एक निर्धारित कार्य बनाया है, जो हर सुबह ब्राउज़र के उदाहरण को रीसेट करता है, क्योंकि मैंने देखा है कि कुछ ब्राउज़र, sp ईसाई आईई 7 काम करना बंद कर देता है अगर यह 3 दिनों से अधिक समय तक चल रहा है।

taskkill /f /IM iexplore.exe 
iexplore.exe http://[jstd-server-ip]:4224/capture 

उन मशीनों, और jstestdriver सर्वर हर समय चल रहे हैं। मुझे यकीन नहीं है कि आपके मामले में यह संभव है।

फिर, आवेदनों पर, मैं एक Maven प्लगइन शुरू करने के लिए परीक्षण का उपयोग कर रहा: http://code.google.com/p/jstd-maven-plugin/wiki/GettingStarted कि मेरे मामले में बेहतर काम करता है, लेकिन अगर आप Maven उपयोग नहीं कर रहे, मुझे लगता है कि NAnt में कुछ इस तरह हो shoud:

<target name="jsTests" > 
    <echo message="Running JavaScript tests..." /> 
    <exec program="java.exe"> 
     <arg line="-jar '${jstestdriver.dir}\JsTestDriver.jar'" /> 
     <arg line="--config '${ui.webtests.dir}\JsTestDriver.conf'" /> 
     <arg line="--browser 'C:\program files\internet explorer\iexplore.exe'"/> 
     <arg line="--verbose"/> 
     <arg line="--reset"/> 
     <arg line="--tests all"/> 
     <arg line="--testOutput '${results.jstestdriver.dir}'"/> 
    </exec> 
</target> 

और में JsTestDriver.conf शीर्ष पर इस पंक्ति जोड़ें:

server: http://[jstd-server-ip]:4224 

यह आपके ग्राहक jstestdriver की उदाहरण Jenkin द्वारा निष्पादित बताता है http: // [jstd-server-ip] का उपयोग करने के लिए: 4224 यह सर्वर है।

उम्मीद है कि यह आपकी मदद करता है!

+0

बहुत बढ़िया, धन्यवाद। मैं इसका परीक्षण करूँगा और आपको अपडेट करूँगा ... –

+0

एक आकर्षण की तरह काम करता है ... मैंने ब्राउज़र तर्क को हटाने के लिए एनएएनटी स्क्रिप्ट में एक और छोटा बदलाव किया है, इसलिए: ' ' –

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