2013-10-30 5 views
12

मेरे पास केवल कमांड-लाइन-केवल उबंटू 11.04 (जीएनयू/लिनक्स 2.6.35.4-rscloud x86_64) है और मैं Angular Phonecat tutorial के माध्यम से काम कर रहा हूं जो परीक्षण के लिए कर्म का उपयोग करता है। Karma browser config page का कहना है कि क्रोम लॉन्चर "डिफ़ॉल्ट रूप से कर्म के साथ भेज दिया गया है।"क्रोम के साथ काम करने के लिए कर्म को कैसे प्राप्त करें

लेकिन यह मेरे लिए काम नहीं कर रहा है। This is the karma.conf.js। नीचे उत्पादन है।

$ ./scripts/test.sh 

Starting Karma Server (http://karma-runner.github.io) 
------------------------------------------------------------------- 
INFO [karma]: Karma v0.10.4 server started at http://localhost:9876/ 
INFO [launcher]: Starting browser Chrome 
ERROR [launcher]: Cannot start Chrome 
     Can not find the binary google-chrome 
     Please set env variable CHROME_BIN 

This answer बताता है कि मुझे क्रोमियम की आवश्यकता है।

इसलिए मैंने अपने उबंटू पर क्रोम को this guide के साथ "कमांड लाइन का उपयोग कर 64 बिट संस्करण डाउनलोड" के साथ स्थापित करने का प्रयास किया। sudo apt-get -f install तक सब कुछ ठीक हो गया, जिसने उबंटू आईपी पते, जैसे कि 91.189.91.15 या 91.189.92 से "लाने में विफल" के साथ समाप्त हुआ। । यहां तक ​​कि/usr/bin/google कुछ * के साथ * "बाइनरी google-chrome नहीं मिल सकता" चला जाता है, मुझे अभी भी व्यक्तिगत परीक्षण स्तर पर "क्रोम प्रारंभ नहीं किया जा सकता" है। फिर त्रुटियों को ठीक करने का प्रयास करते समय, मैंने हटा दिया/usr/bin/google कुछ हटा दिया।

angular-phonecat/node_modules$ ls 
karma      karma-html2js-preprocessor karma-requirejs 
karma-chrome-launcher  karma-jasmine    karma-script-launcher 
karma-coffee-preprocessor karma-junit-reporter 
karma-firefox-launcher  karma-phantomjs-launcher 

क्यू 1:

वर्तमान में, मैं इन node_modules है के बाद से मेरी मशीन केवल कमांड लाइन का उपयोग, कोई जीयूआई, अन्य कर्मा लांचर है, PhantomJS, क्रोम/क्रोमियम की तुलना में एक बेहतर विकल्प है ?

प्रश्न 2: अगर मुझे अभी भी क्रोम/क्रोमियम का उपयोग करना चाहिए, तो क्या मुझे क्रोम या क्रोमियम मिलना चाहिए?

प्रश्न 3: क्या किसी को पता है कि मुझे एंगुलर ऐप में कर्म के लिए Google क्रोम या क्रोमियम प्राप्त करने की ज़रूरत है?

उत्तर

9
  1. यदि आपके पास केवल कमांड लाइन इंटरफ़ेस है, तो फ़ैंटॉमजेएस आपके लिए एकमात्र विकल्प है।
  2. लिनक्स में (कम से कम 12.04 और आगे) क्रोमियम वैकल्पिक है। लेकिन अगर आपके पास ग्राफिकल यूई नहीं है तो आप इसे इंस्टॉल नहीं कर सकते हैं।
  3. सुराग यहां है: "कृपया env चर CHROME_BIN सेट करें"। कर्म google-chrome नामक फ़ाइल को निष्पादित करने का प्रयास करता है और यह अस्तित्व में नहीं है। क्रोम के लिए निष्पादन योग्य का नाम ओएस से ओएस में भिन्न होता है। इसलिए आपको CHROME_BIN नामक एक परिवेश चर सेट करने की आवश्यकता है जिसमें आपके क्रोम निष्पादन योग्य के नाम का मूल्य है। मेरे सिस्टम पर (लिनक्स डेस्कटॉप 13.10) यह chromium-browser है।
-1

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

22

मैं जवाब चाहने वालों के लिए और भविष्य में अपने खुद के संदर्भ के लिए लुडविग तीसरा बिंदु पर विस्तार करेंगे ...

पहली बात यह है कि आप कहां chromium-browser स्थापित किया गया है खोजने के करने की जरूरत है।चलाएँ:

which chromium-browser 

यह निष्पादन के लिए पथ वापस आ जाएगी कुछ इस तरह दिखेगा जो:

/usr/bin/chromium-browser 

तब बस अपने पथ सेट:

export CHROME_BIN=/usr/bin/chromium-browser 

अब कर्मा पा सकते हैं ब्राउज़र को आपके परीक्षणों को निष्पादित करने की आवश्यकता है (माना जाता है कि आपने ग्राफिकल इंटरफ़ेस का उपयोग करने का निर्णय लिया है)।

+0

मुझे आपका उत्तर अधिक पठनीय लगता है तो लुडविग: मुझे यह तथ्य पसंद है कि मैं निर्यात कमांड को कॉपी-पेस्ट कर सकता हूं (और यह बाद में काम करता है)। आप शायद एक कदम आगे जा सकते हैं और उदाहरण के लिए .bashrc का उपयोग करके उस निर्यात चर को स्वचालित रूप से पुनः लोड करने का तरीका बता सकते हैं। – nha

+1

यदि आप कर्म के लिए नौसिखिया हैं (शायद यही कारण है कि आप इसे क्यों पढ़ रहे हैं) यह जानना उपयोगी है कि क्रोमियम के साथ कर्म को ग्राफिक्स डिस्प्ले की आवश्यकता होती है। यह आसानी से 'डिस्प्ले नहीं खोल सकता' त्रुटि संदेश छुपाता है जो आपको यह बताने की कोशिश करेगा कि आपका DISPLAY पर्यावरण चर कुछ चल रहे एक्स विंडोज सर्वर का उपयोग करने के लिए सेट नहीं है। – nmgeek

1

जब मैंने आज the yeoman generator angular के साथ एक प्रोजेक्ट स्थापित किया, तो मुझे क्रोम या फैंटोमज को कर्म के साथ काम करने के लिए नहीं मिला।

यह पता चला है कि यह an issue specific to that project है और यह फ़िक्स बस आपके प्रोजेक्ट रूट में package.json में अनुपलब्ध प्लगइन जोड़ रहा है।

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

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