2009-10-01 12 views
5

हम MVC में वेब UI परियोजना है और स्वचालित परीक्षण के लिए, हम सेलेनियम का उपयोग कर रहे हैं, यह एक शानदार उपकरण है। लेकिन मुझे सेलेनियम के साथ घटनाओं को बढ़ाने में कुछ समस्या का सामना करना पड़ रहा है।सेलेनियम आर सी और इनपुट नियंत्रण घटनाओं

परिदृश्य: मेरे पास एक टेक्स्टबॉक्स है जो किसी भी मूल्य में प्रवेश करते समय एक मूल्य (जावास्क्रिप्ट) को मानता है और बुलबुले करता है और हम उस टेक्स्टबॉक्स से टैब दबाते हैं या पृष्ठ पर कहीं भी बाहर क्लिक करते हैं।

यह वेबसाइट के साथ सामान्य उपयोगकर्ता संपर्क के साथ ठीक काम करता है, लेकिन जब सेलेनियम का उपयोग कर मैं इस व्यवहार को प्राप्त करने में सक्षम नहीं हूँ। मैं सेलेनियम के साथ कुछ पाठ डाल रहा हूं। टाइप करें ('elementId', - ve value) ईवेंट को निकाल दिया नहीं जाता है और त्रुटि बुलबुला नहीं होती है।

मैं ("textboxId" "कलंक",) FireEvent का उपयोग कर, लेकिन इसके काम नहीं कर रहा करने की कोशिश की। एकमात्र कामकाज टेक्स्टबॉक्स पर फ़ोकस है, कुछ मान जोड़ें, फ़ायरएवेंट ("टेक्स्टबॉक्स", "ब्लर") का उपयोग करें और फिर किसी अन्य टेक्स्टबॉक्स पर फ़ोकस करें।

क्या किसी को इसे हल करने का कोई विचार है?

उत्तर

1

आपका कामकाज खराब विकल्प की तरह नहीं लगता है। जब आप फ़ील्ड को फ़ोकस करते हैं, तो सामग्री को बदलें और फिर आप धुंधला (अन्य फ़ील्ड में फ़ोकस करना) उपयोगकर्ता की सटीक समान बातचीत है।

एक अलग विकल्प (मैं अभी भी एक अन्य क्षेत्र पर ध्यान केंद्रित कर पसंद करते हैं) getEval उपयोग करने के लिए जावास्क्रिप्ट समारोह है कि क्षेत्र की पुष्टि करता है को गति प्रदान करने के लिए है। http://www.theautomatedtester.co.uk/seleniumtraining/Selenium_JavaScript.htm

4

मैं बुला

  • प्रकार ("id = textboxid" द्वारा इस सेलेनियम आर सी में जावा ग्राहक के साथ काम कर प्राप्त करने में सक्षम था, "newValue": आप कि कैसे करना है पर इस ट्यूटोरियल की जाँच कर सकते);

और फिर

  • fireEvent ("id = textboxid", "कलंक");

क्या आपको कोई संकेत मिलता है कि "धुंध" घटना को निकाल दिया गया था या नहीं? मुझे आश्चर्य है कि शायद लोकेटर घटना को आग लगाने के लिए सही काम नहीं कर रहा था।

जो भी थोड़ा चालें आप यह काम कर रहा है, हर क्षेत्र के लिए यह कर रहा से बचने के लिए, आप या तो अगर एक आर सी ग्राहक का उपयोग कर एक समारोह में अपने 2-3 कॉल लपेट चाहिए, या register some user extensions एक कदम में यह करने के लिए प्राप्त करने के लिए आकर्षित करने के लिए की जरूरत है यदि आप सेलेनियम आईडीई का उपयोग कर रहे हैं।

0

"ब्लर" एक शानदार खोज है! धन्यवाद।

मेरी समस्या थोड़ा अलग थी। यहां बताया गया है कि मैंने एक (पैरेंट) ड्रॉपडाउनलिस्ट के लिए "धुंधला" कैसे उपयोग किया था जो एक दूसरी (बच्चे) ड्रॉपडाउन सूची (जैसे राज्य और काउंटी) को पॉप्युलेट करने के लिए वापस पोस्ट नहीं कर रहा था।

  1. सेलेनियम.फोकस ("id = drpdwnState");
  2. सेलेनियम। चयन करें ("id = drpdwnState", "लेबल = मिशिगन");
  3. सेलेनियम.फिरएवेंट ("id = drpdwnState", "धुंधला");
  4. सेलेनियम.फोकस ("id = drpdwnCounty");
  5. सेलेनियम।चुनें ("id = drpdwnCounty", "लेबल = ग्रांड ट्रैवर्स");

उम्मीद है कि यह किसी की सहायता करेगा। चीयर्स!

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