11

सेलेनियम 2/वेबड्रिवर के लिए पूरी तरह से कार्यात्मक भाषा बाइंडिंग की तलाश करते समय, मैं सेलेनियम आरसी के लिए हास्केल बाइंडिंग के लिए एक भंडार में आया लेकिन सेलेनियम 2/वेबड्राइवर के लिए नहीं।सेलेनियम 2/वेबड्राइवर के लिए उपलब्ध कोई भी पूरी तरह कार्यात्मक भाषा बाइंडिंग?

यदि संभव हो तो सेलेनियम 2 पर चिपके रहते हुए मुझे कार्यात्मक भाषाओं के विचारों के साथ और अधिक आरामदायक होने में दिलचस्पी है। मैं एक महीने या उससे भी ज्यादा समय तक हास्केल के साथ खेल रहा हूं और समझता हूं कि हास्केल एक शुद्ध कार्यात्मक भाषा है, इसलिए सोच रहा था कि क्या उनके पास सेलेनियम 2 के लिए कोई बाध्यता है। अन्यथा, क्या आप सेलेनियम 2 के लिए किसी भी अन्य कार्यात्मक उन्मुख भाषा बाइंडिंग का सुझाव दे सकते हैं?

+0

भी देखें: [सेलेनियम पैकेज] (http: //hackage.haskell .org/पैकेज/संग्रह/सेलेनियम/0.2.3/डॉक्टर/एचटीएमएल/टेस्ट-सेलेनियम-सर्वर.html) (सेलेनियम 1, 2 नहीं)। ऐसा लगता है कि उन सभी बाइंडिंग्स वास्तव में एक सेलेनियम कमांड का अनुवाद स्ट्रिंग में करते हैं, और इसे सेलेनियम सर्वर पर भेजते हैं। –

+0

सेलेनियम 1 बाइंडिंग बिट को पुन: पुष्टि करने के लिए धन्यवाद। इन बाइंडिंग के कामकाज पर और देखेंगे। – Ziran

उत्तर

2

मुझे लगता है कि कारण है कि पूरी तरह कार्यात्मक भाषा बाइंडिंग याद कर रहे हैं कि Selenium/WebDriver ज्यादातर क्यूए/परीक्षक द्वारा किया जाता है और यह मुश्किल के लिए उन्हें एक Haskell या अन्य कार्यात्मक भाषा में प्रोग्राम करने के लिए होगा।

लेकिन आप कार्यात्मक शैली में WebDriver के साथ प्रोग्राम करना चाहते हैं तो आप कुछ जेवीएम आधारित भाषा जैसे Scala या clojure का उपयोग कर सकते हैं।

+0

धन्यवाद, मैं उन भाषाओं पर एक नज़र डालेगा। – Ziran

+0

मुझे नहीं पता कि क्यों एमएल, हास्केल, ओसीएएमएल, या कोई अन्य कार्यात्मक भाषा "[क्यूए/परीक्षकों] के लिए प्रोग्राम करना मुश्किल होगा।" हास्केल, विशेष रूप से, आपके कार्यक्रमों के लिए परीक्षण मामलों को स्वचालित रूप से उत्पन्न करने के लिए, एक लाइब्रेरी, क्विक चेक है। इसे ऊपर करने के लिए, क्विक चेक खुद ही हास्केल में लिखा गया है। मुझे यह और अधिक व्यावहारिक लगेगा कि वेबड्राइवर में कार्यात्मक भाषा बाइंडिंग गुम है, क्योंकि केवल ऐसी भाषाएं सी-स्टाइल (सी, सी ++, जावा, पीएचपी, सी #) के रूप में लोकप्रिय नहीं हैं। – BMeph

5

हालांकि परियोजना बॉक्स के बाहर .NET, जावा, रूबी और पायथन का समर्थन करती है, सेलेनियम वेबड्राइवर टीम ने लगभग किसी भी भाषा के लिए बाइंडिंग का उत्पादन करना बहुत आसान बना दिया है। अधिकांश ड्राइवर अब JSON-over-HTTP वायर प्रोटोकॉल का उपयोग करते हैं, जिनके आदेश project wiki में प्रलेखित हैं। जब तक आप जिस भी भाषा का उपयोग कर रहे हैं, उसके पास एक HTTP क्लाइंट लाइब्रेरी और एक JSON पार्सिंग लाइब्रेरी है, तो आप सापेक्ष आसानी से अपनी बाध्यियां बना सकते हैं। एक JVM- आधारित भाषा आवश्यक से बहुत दूर है।

9

जबाब थोड़ी देर हो चुकी है, लेकिन मुझे लगता है कि आप में रुचि हो सकती WebDriver Hackage पर के लिए एक हास्केल ग्राहक जारी किया है: http://hackage.haskell.org/package/webdriver

+0

उपरोक्त! एक उत्कृष्ट पुस्तकालय लेकिन यह एक अद्यतन का उपयोग कर सकता है: https://github.com/kallisti-dev/hs-webdriver/issues/60 –

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