2017-01-06 8 views
6

जब सफारी के लिए मैक पर मेरे चांदा परीक्षण चल रहा निम्न त्रुटि हो रही हैSafariDriver (सफारी 10) से जुड़ने में विफल

Failed to connect to SafariDriver after 10082 ms 
Build info: version: '2.53.1', revision: 'a36b8b1',  
os.arch: 'x86_64', os.version: '10.12.2', java.version: '1.8.0_101' 
Driver info: driver.version: SafariDriver 

क्षमता:

 name: 'Safari', 
     browserName: 'safari', 
     logName: 'Safari', 
     shardTestFiles: true, 
     maxInstances: 2 

हम एक विशिष्ट सफारी की ज़रूरत है इसके लिए चालक? यदि हां, तो मैं इसे कहां से प्राप्त कर सकता हूं और इसे .conf फ़ाइल में कहां घोषित किया जाना चाहिए।

धन्यवाद!

उत्तर

3

हां, आपको प्रोजेक्टर के अंदर लॉन्च करने के लिए a specific safari driver इंस्टॉल करने की आवश्यकता है। और निश्चित रूप से, आपको एक मैक पर होना चाहिए। प्रोटैक्टर अनिवार्य रूप से Selenium के शीर्ष पर बनाया गया एक परत है, इसलिए आपको सफारी के लिए सेलेनियम ड्राइवर स्थापित करना होगा, जिसे सफारी प्लगइन के रूप में कार्यान्वित किया गया है। here से

  1. डाउनलोड सफारी प्लगइन:

    यहाँ आप क्या करने की जरूरत है।

  2. सफारी

चालक द्वारा संकेत दिए हैं स्थापित किया गया है और अपने चांदा की प्रक्रिया के लिए उपलब्ध होना चाहिए प्लगइन

  • चुनें "ट्रस्ट" प्लग इन चलाएं।

    यह सेलेनियम 2.48 के लिए ड्राइवर है। मुझे हालिया निर्माण नहीं मिल सका, इसलिए यदि यह ड्राइवर संस्करण प्रोटैक्टर के वर्तमान संस्करण के साथ नहीं चलता है, तो आपको या तो सेलेनियम 2.48 पर आधारित प्रोट्रैक्टर के पुराने संस्करण का उपयोग करना होगा या स्रोत से सफारी ड्राइवर बनाना होगा ।

  • +0

    धन्यवाद! आप नवीनतम निर्माण यहां देख सकते हैं http://selenium-release.storage.googleapis.com/index.html – CodeJockey

    +0

    जहां तक ​​मैं कह सकता था, 2.48 नवीनतम निर्माण था जिसमें सफारी प्लगइन था। डाउनलोड करने के लिए एक बेहतर जगह हो सकती है, लेकिन मुझे यह नहीं मिला। –

    3

    सबसे पहले, सफारी 10 से शुरू होने से, सफारी को नए ड्राइवर कार्यान्वयन के साथ बंडल किया जाता है। पुराना चालक (विस्तार) बहिष्कृत है। आप मैकोज़ 10.12.2 का उपयोग कर रहे हैं, तो यह आपका मामला है। सफारी में नए ड्राइवर को सक्षम करने के लिए, को टॉगल करें मेनू में रिमोट ऑटोमेशन चेकबॉक्स को अनुमति दें। यदि आपके पास यह मेनू नहीं है, तो इसे सक्षम करें: प्राथमिकता>उन्नत>मेनू बार में विकास मेनू दिखाएं। एक बार मैन्युअल रूप से आवश्यक अनुमतियां देने के लिए /usr/bin/safaridriver प्रारंभ करें।

    दूसरा, आपको सेलेनियम स्टैंडअलोन सर्वर का 3.x संस्करण चाहिए, 2.53.1 नहीं। आदेश में यह स्थापित करने के लिए:

    sudo webdriver-manager update --versions.standalone 3.0.1 
    

    शुरू करने के लिए:

    webdriver-manager start --versions.standalone 3.0.1 
    

    तीसरे, दृश्यता चेकों नया ड्राइवर में टूट रहे हैं। तो browser.wait(ExpectedConditions.visibilityOf(myElement), 5000); जैसी चीजें काम नहीं करती हैं और UnsupportedCommandException पर ले जाती हैं। इसे ठीक करने के लिए, आप Safari Technology Preview इंस्टॉल करने और वहां परीक्षण चलाने का प्रयास कर सकते हैं (क्षमताओं के लिए 'safari.options': { technologyPreview: true } जोड़ें)। लेकिन मेरे लिए, पूर्वावलोकन रिलीज से भी बदतर काम करता है। प्रोटैक्टर का कहना है कि यह पृष्ठ पर कोणीय नहीं ढूंढ सकता क्योंकि में क्रॉस-मूल नेविगेशन के बाद वे window.name को साफ़ करने के लिए बदल गए। यदि आपको इसे काम करने का कोई तरीका मिल गया है, तो कृपया मुझे बताएं।

    नीचे कुछ लिंक हैं जिन्हें आपको जांचना चाहिए क्योंकि मुझे कुछ याद आ सकता है।

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