आप कोणमापक का नवीनतम संस्करण का उपयोग कर रहे मान लिया जाये कि, मान लें कि> = 1.1.0, उम्मीद है कि> = 1.3.1
कोणमापक से सीधे पहुँच ब्राउज़र पक्ष जे एस कोड का प्रयास कर काम नहीं करेगा क्योंकि कोणमापक में चलाता जाने नोडजेएस और प्रत्येक ब्राउजर साइड कोड सेलेनियम JsonWireProtocol के माध्यम से निष्पादित किया जाता है।
अधिक विस्तार के बिना
, एक काम उदाहरण:
browser.get('https://angularjs.org/');
एक-लाइनर वादा है कि, आज के रूप में, '1.3.0-rc.3'
browser.executeScript('return window.angular.version.full;');
पर ले कर आप इसे सीधे दिया एक उम्मीद बयान कोणमापक का उपयोग कर सकते हैं उम्मीद आपके लिए वादे का वादा करता है:
expect(browser.executeScript('return window.angular.version.full;')).
toEqual('1.3.0-rc.3');
लंबा er उदाहरण आपके लिए वादे को हल करने के बिना expect
के बिना स्ट्रिंग प्लस के बजाय फ़ंक्शन पास कर रहा है। यानी अधिक नियंत्रण के लिए और परिणाम के साथ कुछ फैंसी चीज करने के लिए।
browser.driver.executeScript(function() {
return window.angular.version.full;
}).then(function(result) {
console.log('NodeJS-side console log result: ' + result);
//=> NodeJS-side console log result: 1.3.0-rc.3
});
स्रोत
2014-09-29 16:09:18
चांदा संस्करण मैं उपयोग कर रहा हूँ के साथ वास्तव में, मैं 'browser.executeScript का इस्तेमाल किया था ('वापसी myVar;') तो (समारोह (myVar) {...});।' लेकिन पूरी तरह से काम किया , धन्यवाद! – hilnius
यदि मैं इस विधि का उपयोग करके केवल विंडो ऑब्जेक्ट लौटाता हूं, तो मुझे "अधिकतम कॉल स्टैक आकार पार हो गया" मिलता है :( – chrismarx
शायद किसी भी बुरे विचार को @chrismarx है, केवल वही लौटाएं जो आपको वास्तव में चाहिए;) –