2011-03-08 10 views
5

से एक कमांड लाइन आदेश निष्पादित मैं CruiseControl.NET विन्यास में कोड के इस खंड है:CruiseControl.NET

<exec> 
    <executable>C:\Windows\System32\cmd.exe</executable> 
    <buildArgs>/C SETX SELENIUM_BROWSER googlechrome /M</buildArgs> 
</exec> 

यह एक NUnit निष्पादन आदेश है कि मेरी वेबसाइट पर कुछ Selenium परीक्षण चलाता है, द्वारा पीछा किया। विचार यह है कि यह आदेश परीक्षण चलाने से पहले परीक्षण ब्राउज़र (सिस्टम पर्यावरण चर) को बदलता है।

समस्या यह है कि आदेश काम नहीं कर रहा है। परीक्षण अभी भी डिफ़ॉल्ट ब्राउज़र, फ़ायरफ़ॉक्स का उपयोग कर रहे हैं। यह काम करता है अगर मैं मैन्युअल रूप से पर्यावरण चर बदलता हूं।

मैं क्या गलत कर रहा हूं?

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

मैं एक बैच फ़ाइल में आदेश डाल और उस को क्रियान्वित करने की कोशिश की, लेकिन यह अभी भी काम नहीं किया:

<exec executable="C:\CCNet\setChrome.bat" /> 

बैच फ़ाइल सामग्री:

SETX SELENIUM_BROWSER googlechrome /M 
+2

आम तौर पर, मैं CC.NET कॉन्फ़िगरेशन को बहुत सरल रखता हूं और केवल एनएनटी या अन्य बिल्ड स्क्रिप्ट को बंद करता हूं जो बिल्ड क्रियाओं को परिभाषित करने में बहुत बेहतर होते हैं। सीसी ऑर्केस्ट्रेशन और रिपोर्टिंग परिणामों के लिए है, लेकिन बिल्डिंग को परिभाषित करने में यह महान नहीं है। –

+0

मैं वास्तव में असाधारण कुछ भी नहीं कर रहा हूँ। सीसी.NET माना जाता है कि एक साधारण कमांड चलाने की कार्यक्षमता है। मुझे समझ में नहीं आता कि यह क्यों काम नहीं कर रहा है। – Edgar

उत्तर

8

इस तरह के कमांड को स्वरूपित करने से पर्यावरण चर सही ढंग से सेट हो जाता है:

<exec> 
    <executable>cmd</executable> 
    <buildArgs>/C SETX SELENIUM_BROWSER googlechrome /M</buildArgs> 
</exec> 

अब मुझे यह पता लगाने की आवश्यकता है कि मेरे एनयूनीट परीक्षण सही तरीके से क्यों नहीं उठा रहे हैं।

अद्यतन:

परीक्षण करने के लिए चर पारित करने के लिए निष्पादन योग्य कार्य में environment तत्व का इस्तेमाल किया है चाहिए। उदाहरण के लिए:

<exec> 
    <executable>make</executable> 
    <baseDirectory>D:\dev\MyProject</baseDirectory> 
    <buildArgs>all</buildArgs> 
    <buildTimeoutSeconds>10</buildTimeoutSeconds> 
    <successExitCodes>0,1,3,5</successExitCodes> 
    <environment> 
     <variable> 
      <name>MyVar1</name> 
      <value>Var1Value</value> 
     </variable> 
     <variable name="MyVar2" value="Var2Value" /> 
    </environment> 
</exec> 

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

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