2016-12-27 16 views
6

नहीं ढूंढ सकता मैं डॉकर के लिए नौसिखिया हूं, लेकिन ई 2 ई प्रोटैक्टर नहीं। मैं डॉकर कंटेनर से ई 2 ई एकीकरण बनाने की कोशिश कर रहा हूं।डॉकर सेलेनियम/नोड-क्रोम - प्रोटैक्टर क्रोम बाइनरी

बाद Angular's protractor cookbook using Docker

वे Step 2 - Starting Selenium Nodes

साथ

docker run -d --link selenium-hub:hub selenium/node-chrome:latest

है मैं समझता हूँ कि क्या Selnium ग्रिड करता है - यह विभिन्न प्रकार के ब्राउज़रों ग्रिड के साथ संवाद स्थापित द्वारा परीक्षण किया जा सकता है।

जब मेरे पास यह डॉकर कंटेनर चल रहा है तो प्रोटेक्टर इसे क्रोम बाइनरी के रूप में उपयोग नहीं करता है और मुझे WebDriverError: unknown error: cannot find Chrome binary मिलता है।

मैं इस node-chrome कंटेनर का उपयोग कैसे करूं, न कि स्थानीय क्रोम बाइनरी?

मेरे चांदा config:

exports.config = { 
    framework: 'mocha', 
    directConnect: true, 
    seleniumAddress: 'http://localhost:4444/wd/hub', // I have this set to the grid docker container from Angular cookbook 
    specs: ['./stories/*.js'], 
    onPrepare: function() { 
    expect = require("chai").use(require("chai-as-promised")).expect; 
    }, 
    mochaOpts: { 
    enableTimeouts: false, 
    reporter: "spec", 
    slow: 7000 
    }, 
    capabilities: { 
    browserName: 'chrome' 
    } 
} 

यह कैसे मैं (गैर डोकर) मेरी नेतृत्वहीन सर्वर पर चांदा चलाने xvfb-run node_modules/protractor/bin/protractor e2e/protractor.conf.js

+1

आदर्श रूप से आपको उस त्रुटि को नहीं देखना चाहिए क्योंकि हब को क्रोम डॉकर कंटेनर चुनना चाहिए। क्या आप ग्रिड कंसोल 'http: // localhost: 4444/grid/console'- मैन्युअल रूप से एक्सेस करने का प्रयास कर सकते हैं और देख सकते हैं कि नोड पंजीकृत है या नहीं – AdityaReddy

+0

सबकुछ हब के लिए अच्छा दिखता है। कंसोल पेज पर, मुझे पृष्ठ पर 'वेबड्राइवर वी' के लिए क्रोम आइकन भी दिखाई देता है। टेक्स्ट आउटपुट यहां दिया गया है: http://dpaste.com/2JWB011 – dman

उत्तर

3

मैं इस मुद्दे पाया है ... मैं चांदा config में directConnect: true और इस हटाया स्थानीय क्रोम बाइनरी के बिना इसे चलाने की अनुमति दी। समाधान यह false बनाने या इसे हटाने के लिए है।

डॉक्स से:

DirectConnect: सच - अपने परीक्षण स्क्रिप्ट सीधे क्रोम ड्राइवर या Firefox ड्राइवर, किसी भी सेलेनियम सर्वर को दरकिनार संचार करता है। यदि यह सत्य है, सेलेनियम एड्रेस और सेलेनियमसेवरजेर के लिए सेटिंग्स को अनदेखा कर दिया जाएगा। यदि आप क्रोम या फ़ायरफ़ॉक्स के अलावा किसी अन्य ब्राउज़र का उपयोग करने का प्रयास करते हैं तो एक त्रुटि

+2

मुझे खुशी है कि आपको "समस्या" मिली है। प्रोट्रेक्टर के अगले संस्करण को आपको चेतावनी दी जानी चाहिए कि क्या आपके पास निम्नलिखित पुल अनुरोध के साथ विवादित ड्राइवर प्रदाता हैं: https://github.com/angular/protractor/pull/3873। – cnishina

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