मैं क्लोजरस्क्रिप्ट वेब ऐप पर कुछ सेलेनियम आधारित परीक्षण करने के लिए क्लोज-वेबड्राइवर का उपयोग कर रहा हूं। कभी-कभी, ऐप में कुछ ऐसा होता है जिसे मैं परीक्षण के दौरान परेशान करने में सक्षम होना चाहता हूं। मुझे लगता है कि clj-webdriver में (execute-script js args)
नामक कुछ है जो जावास्क्रिप्ट कोड की एक स्ट्रिंग लेता है और इसे वर्तमान परीक्षण ब्राउज़र पर चलाता है। मैंने इसका परीक्षण किया है और ऐसा लगता है कि यह काम करता है। मैं क्लोजरस्क्रिप्ट कोड को execute-script
पर पास करना चाहता हूं। मुझे ऐसा कुछ चाहिए जो क्लोजरस्क्रिप्ट कोड में मेरे क्लोजर फॉर्म को संकलित करेगा।क्लोजरस्क्रिप्ट फॉर्म को क्लोजर के भीतर से कैसे संकलित किया जाए?
मैं निम्नलिखित question देखता हूं जो संबंधित है। यह क्लच से जेएस/एमिट फ़ंक्शन का उपयोग करने के लिए कहता है। मैं क्लच खोज की है और पाया यह cljs-views.clj में (देखें) में केवल उल्लेख मैं का प्रयास किया है एक repl में निम्नलिखित:
user> (use 'com.ashafa.clutch.cljs-views)
nil
user> view
<core$comp$fn__4034 [email protected]>
user> js/emit
CompilerException java.lang.RuntimeException: No such namespace: js, #compiling (NO_SOURCE_PATH:1)
user>
यह बहुत आश्चर्य की बात नहीं है, कैसे js एक नियमित clojure namesapce में हो सकता है? लेकिन मैं क्लोजरस्क्रिप्ट (जावास्क्रिप्ट) कोड उत्पन्न करने के लिए इस (या किसी अन्य) सिस्टम का उपयोग कैसे करूं जिसे मैं execute-script
पर भेज सकता हूं?