से पहले से मौजूद घटनाओं का परीक्षण करना मैं एक वेब पेज के लिए सेलेनियम परीक्षण लिखने की कोशिश कर रहा हूं जो उपयोगकर्ता को छोड़ने से पहले उपयोगकर्ता को संकेत देने के लिए एक ऑनबर्ननलोड ईवेंट का उपयोग करता है। सेलेनियम प्रकट होने वाले पुष्टिकरण संवाद को पहचानने के लिए प्रतीत नहीं होता है, या ठीक या रद्द करने का तरीका प्रदान करने के लिए प्रतीत होता है। क्या इसे करने का कोई तरीका है? मैं जावा सेलेनियम ड्राइवर का उपयोग कर रहा हूं, अगर यह प्रासंगिक है।सेलेनियम
सेलेनियम
उत्तर
आप उपयोगकर्ता एक्सटेंशन (या स्टोर स्टोर आदि में केवल कुछ जावास्क्रिप्ट) लिख सकते हैं जो उस विंडो का परीक्षण करता है .onbeforeunload सेट है, और उसके बाद इसे शून्य से बदल देता है पेज से जारी रखने से पहले। बदसूरत, लेकिन आपको पेज से बाहर ले जाना चाहिए।
चेतावनी: - http://watij.com/ - यहाँ मदद कर सकते हैं यह एक वैकल्पिक समाधान
Watij देता है। या यदि आप रूबी के साथ सहज हैं, तो http://wtr.rubyforge.org/install.html
जब मुझे सेलेनियम का उपयोग करके ब्राउज़र पर सीमित नियंत्रण के साथ सामना करना पड़ा, तो मैं MozLab प्लगइन में बदल गया जो केवल एक ब्राउज़र प्लेटफ़ॉर्म के लिए मेरी समस्या का समाधान करता है।
मुझे बस अपने आवेदन के लिए ऐसा करना पड़ा है जहां onbeforeunload
हैंडलर एक संकेत देता है यदि कोई उपयोगकर्ता किसी पृष्ठ को सहेजता है, जबकि दस्तावेज़ किसी सहेजे गए स्थिति में होता है। अजगर कोड:
driver.switch_to.alert.accept()
जावा बराबर होगा:
driver.switchTo().alert().accept();
यदि अलर्ट मौजूद नहीं है, इसके बाद के संस्करण कोड एक NoAlertPresentException
साथ विफल हो जाएगा तो एक अलग परीक्षण की जांच करने के लिए कोई जरूरत नहीं है संकेत स्वीकार करने से पहले अस्तित्व।
मैं सेलेनियम 2.43.0 चला रहा हूं लेकिन मुझे लगता है कि यह थोड़ी देर के लिए किया जा रहा है।
ऐसे मामलों में जहां मैं नहीं चाहता कि प्रॉम्प्ट बिल्कुल आ जाए क्योंकि मैं परीक्षण नहीं कर रहा हूं, इसलिए मैं पृष्ठ छोड़ने से पहले window.onbeforeunload
null
पर सेट करने के लिए ब्राउज़र में कस्टम जावास्क्रिप्ट चलाता हूं। मैंने इसे टेस्ट टियरडाउन कोड में रखा है।
- 1. सेलेनियम
- 2. सेलेनियम
- 3. सेलेनियम
- 4. सेलेनियम
- 5. सेलेनियम
- 6. सेलेनियम
- 7. सेलेनियम
- 8. सेलेनियम
- 9. सेलेनियम
- 10. सेलेनियम
- 11. सेलेनियम
- 12. सेलेनियम
- 13. सेलेनियम
- 14. सेलेनियम
- 15. सेलेनियम
- 16. सेलेनियम
- 17. सेलेनियम
- 18. सेलेनियम
- 19. सेलेनियम
- 20. सेलेनियम
- 21. सेलेनियम
- 22. सेलेनियम वेबड्राइवर (ए.के.ए सेलेनियम 2) में जावा
- 23. सेलेनियम वेब ड्राइवर या सेलेनियम आरसी
- 24. सेलेनियम: सेलेनियम के माध्यम से टेक्स्टबॉक्स
- 25. सेलेनियम -2
- 26. सेलेनियम: तालिका
- 27. सेलेनियम कक्षा
- 28. टेस्टएनजी/सेलेनियम
- 29. सेलेनियम आईडीई
- 30. सेलेनियम वेबड्राइवर
मैंने ऐसा करने का अंत नहीं किया (मेरी आवश्यकताओं को बदल दिया गया है कि मैं नियमित चेतावनी का उपयोग करके बेहतर था), लेकिन ऐसा लगता है कि यह चाल करेगा, और यह है कि सेलेनियम अन्य अलर्ट के लिए परीक्षण कैसे संभालता है। –
यह सिर्फ मेरे लिए खुला होने से पहले 'js_eval "window.onbeforeunload = null" जोड़ने का मामला था। (रूबी में सेलेनियम-क्लाइंट, लेकिन आप आसानी से अन्य भाषाओं में अनुवाद करने में सक्षम होना चाहिए) –