5

के माध्यम से क्रोम ड्राइवर के साथ सेलेनियम 3.x कैसे चलाएं यह आसान सवाल हो सकता है लेकिन मुझे इसके बारे में कोई जानकारी नहीं मिल रही है।टर्मिनल

मैं इस तरह से सेलेनियम 2.x चलाने के लिए उपयोग करता था। मैं सर्वर शुरू करता हूं:

java -jar selenium-server-standalone-2.53.1.jar -Dwebdriver.chrome.driver=chromedriver -browserSideLog -debug -timeout 60 

और फिर मैं अपने परीक्षण चलाता हूं। मैं डार्ट उपयोग करती हैं इसलिए मैं

pub run test test/selenium/custom_component_test.dart 

करते लेकिन अब मैं उपयोग सेलेनियम 3. मैं इसे डाउनलोड किया है और नई जार के साथ अपने पुराने टर्मिनल कॉल स्थानापन्न लेकिन मैं यह कर सकता लगता है कोशिश कर रहा हूँ। सेलेनियम मुझे बताता है कि यह ऐसे पैरामीटर को नहीं जानता "-Dwebdriver.chrome.driver"। और मदद में मैं पैरामीटर निर्दिष्ट करने के लिए पैरामीटर नहीं देख सकता।

तो, क्रोम ड्राइवर के साथ सेलेनियम 3 कैसे चलाएं?

उत्तर

12

आपके विकल्प ऑर्डर से बाहर हैं। -D... एक जावा रनटाइम चर है। इसे -jar निर्देश से पहले आने की जरूरत है।

को

java -Dwebdriver.chrome.driver=chromedriver -jar selenium-server-standalone-2.53.1.jar -browserSideLog -debug -timeout 60 

मुझे लगता है कि मार्ग के रूप में सेलेनियम 2.x संचालित करने वाले अपने आदेश को परिवर्तित करें।

हां, हमने जार में पारित विकल्पों को पार्स करने के लिए 3.0 में JCommander का उपयोग करने के लिए स्रोत बदल दिया। -D निर्देश अब उन विकल्पों के रूप में पार्स किए गए हैं जिन्हें आप जार में पास करने की कोशिश कर रहे हैं, जैसे -debug और -timeout। आपके आदेश को अच्छी तरह से गठित करने के लिए, आपको वास्तव में -jar निर्देश से पहले -D... का उपयोग करना चाहिए।

+1

बहुत बहुत धन्यवाद! – kelegorm

+0

मदद करने में खुशी हुई! :) – sircapsalot

+0

मुझे एक ही समस्या थी और अब यह thx काम करता है, मैं सिर्फ यह जानना चाहता था कि क्यों-डी पहले इस्तेमाल किया जाना चाहिए? – mosaad