2012-03-21 18 views
5

पॉप्युलेट करता है, मैं कुछ टेस्ट केस बनाने के लिए सेलेनियम आईडीई फ़ायरफ़ॉक्स प्लगइन का उपयोग कर रहा हूं। मैं चरणों को रिकॉर्ड करने के लिए रिकॉर्ड बटन पर क्लिक करता हूं। जब मैं कर रहा हूं, तो मैं रिकॉर्डिंग को रोकता हूं और परीक्षण मामलों को चलाता हूं कि यह देखने के लिए कि चीजें कैसे जाती हैं। एक HTML तालिका में इस विशेष तत्व में, सेलेनियम रिकॉर्डिंग प्रक्रिया में id=my_id_1 के रूप में पहचानता है; जब मैं परीक्षण केस चलाता हूं, तो यह कहता है कि तत्व id=my_id_1 नहीं मिला।सेलेनियम एलिमेंट नहीं मिला है, भले ही सेलेनियम आईडी

सेलेनियम आईडीई के भीतर आईडी का पता लगाने पर यह कैसे नहीं पाया जा सकता है? मैं इस समस्या के आसपास कैसे हो सकता हूं? मैंने //tr[4]/td[3]/a का उपयोग करने का भी प्रयास किया है। इस दृष्टिकोण का उपयोग (और आईडी का भी उपयोग करके), जब मैं आईडीई में ढूँढें बटन पर क्लिक करता हूं, तो वेब पेज पर संबंधित आइटम को पीले रंग में हाइलाइट किया जाएगा। हालांकि, परीक्षण मामला यह कहने में विफल रहेगा कि तत्व नहीं मिला।

अग्रिम धन्यवाद, मोंटे

+0

क्या आप सुनिश्चित करते हैं कि पृष्ठ वास्तव में पृष्ठ में लोड होने से पहले आदेश निष्पादित नहीं हो रहा है? –

उत्तर

7

के बजाय नाम, मान या एक्सपैथ द्वारा तत्व का पता लगाने का प्रयास करें समस्या कमांड से पहले एक विराम का प्रयास करें, यह देखने के लिए कि सेलेनियम तत्व को खोजने का प्रयास करने से पहले पूरी तरह से लोड नहीं होता है या नहीं। यदि यह समस्या को हल करता है, तो आप इसके बजाय स्थिति के लिए अधिक मजबूत प्रतीक्षा-विराम के साथ विराम को प्रतिस्थापित कर सकते हैं।

+0

आपको बहुत बहुत धन्यवाद। प्रश्न में एक से पहले मैंने कमांड में एक क्लिक एंडवेट किया था और यह चाल है। –

+1

+1, मुझे एक ही समस्या थी और एक विराम में जोड़कर मेरे लिए समस्या तय की गई। – Tim

0

वहाँ ऐसा होता है कि आपको लगता है कि आदेश के क्रियान्वयन से पहले अलग पृष्ठ पर पुनः निर्देशित कर रहे हैं, तो आप तत्व हो रही है नहीं मिला त्रुटि, आप आदेश के क्रियान्वयन से पहले ठहराव डाल सकते हैं हो सकता है, या यदि यह कोई मामला नहीं है तो आईडी

-1

आईडीई के धीमे मोड में अपना परीक्षण चलाएं।

0

हो सकता है यह एक नया आईडी हर समय पैदा कर रही है। इसलिए आप जो भी कर सकते हैं वह एक नियमित अभिव्यक्ति देता है जैसा मैंने नीचे उपयोग किया था।

//form[@id='adminLogin']/div/div[4]/input 

इसे आज़माएं। यह मेरे लिए काम किया है।