2012-06-11 16 views
6

मैं एक क्रोम एक्सटेंशन लिख रहा हूं जो आपके कार्यों को रिकॉर्ड करता है (माउस क्लिक, कीबोर्ड कीप)। विस्तार का विचार है कि मेरे और मेरे सहयोगियों को हमारी वेब आधारित परियोजना के उबाऊ परीक्षण को कम करने में मदद करें। मैंने इसे ईवेंट रिकॉर्ड करने और इसे dev सर्वर पर MySQL के रूप में संग्रहीत करने के लिए बनाया ताकि मैं उनका उपयोग या साझा कर सकूं। लेकिन समस्या सहेजे गए कार्यों को फिर से चल रही है।क्रोम एक्सटेंशन बल माउस चाल

तो माउस मूव को मजबूर करने का कोई तरीका कैसा है, तो माउस ईवेंट पर क्लिक करें। क्या यह फ्लैश, जावा या ऐसा कुछ किया जा सकता है।

पीएस। प्रोजेक्ट एक्स्टज है लेकिन मैं एक्सटेंशन को अन्य ढांचे का उपयोग करके डेवलपर के लिए उपयोगी बनाना चाहता हूं और इसे प्रकाशित करना चाहता हूं।

+0

और, क्या आपने अपने एक्सटेंशन के साथ प्रगति की है? – Christoph

उत्तर

1

कल्पना करें कि कुछ यादृच्छिक वेबसाइट आपके माउस को नियंत्रित करती है ... अच्छा नहीं, है ना? (यही कारण है कि आप जावास्क्रिप्ट के माध्यम से mousemove को मजबूर नहीं कर सकते हैं)

हालांकि, आप तत्वों पर क्लिक ट्रिगर कर सकते हैं। इसे प्राप्त करने के लिए, आपको ईवेंट को सहेजने की आवश्यकता है (माउस-ओवर | आउट/(डीबीएल) क्लिक/जो कुछ भी) और इसके अनुसार तत्व (घटना समारोह में: यह)। यह वर्कफ़्लो अनुकरण करने के लिए पर्याप्त होना चाहिए।

jQuery-उदाहरण:

$('#item').click(); 
$('#item').trigger('click'); 

वेनिला जावास्क्रिप्ट:

document.querySelector("#item").click(); 
+0

यदि आपको माउस मूव इवेंट्स को अनुकरण करने की आवश्यकता है तो आप उन्हें ट्रिगर कर सकते हैं: http://stackoverflow.com/questions/911586/javascript-simulate-mouse-over-in-code –

+0

आप सही हैं लेकिन समस्या उदाहरण के लिए extjs है आईडी गतिशील रूप से और कार्रवाई को "यह आईडी -> क्लिक करें" के रूप में सहेज नहीं सकता है। और आईआई ने सोचा कि क्रोम एक एक्सटेंशन से माउस को नियंत्रित करने की अनुमति देता है (क्योंकि उपयोगकर्ता/डेवलपर ने एक्सटेंशन को स्थापित करने की अनुमति दी है)। – mraiur

+0

@mraiur यह हो सकता है कि क्रोम एक्सटेंशन माउस को नियंत्रित करने की अनुमति दें, हालांकि मुझे अत्यधिक संदेह है। हालांकि, चूंकि घटनाओं से जुड़े समन्वय होते हैं, इसलिए आप इस स्थिति पर मौजूद तत्व का पता लगाने की कोशिश कर सकते हैं और एक बार इसे निर्धारित करने के बाद एक क्लिक को ट्रिगर कर सकते हैं। लेकिन मुझे उस विधि के साथ उत्पन्न होने वाली कई संभावित समस्याएं दिखाई देती हैं। – Christoph

0

इस के लिए Selenium उपयोग पर विचार करें। इसमें कई भाषाओं के लिए समर्थन है, और आप इसके साथ अपने पूरे परीक्षण को स्क्रिप्ट कर सकते हैं। उदाहरण के लिए आप इसे तत्व पर क्लिक करने के लिए सेट कर सकते हैं, कुछ होने के लिए प्रतीक्षा करें या टेक्स्ट बॉक्स भरें।

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