2009-08-11 12 views
7

मेरे पास एक प्रश्न है हमारे आवेदन में हमारे पास बहुत सारे HTML टैग हैं। विकास के दौरान कई टैगों को किसी भी आवश्यकता के कारण कोई आईडी नहीं दी गई थी.अब क्यूए टीम QTP का उपयोग करके परीक्षण मामलों को स्वचालित करना चाहता है। ज्यादातर मामलों में यह टूल पहचान नहीं पाता है क्योंकि इसे अधिकांश HTML टैग्स के लिए आईडी नहीं मिलती.अब हमें सभी HTML टैग्स में आईडी जोड़ने के लिए कहा जाता है। मैं जानना चाहता हूं कि इन टैग में आईडी विशेषता जोड़ने का कोई प्रभाव होगा या नहीं। यहां तक ​​कि सकारात्मक प्रभाव भी स्वागत हैक्यूए स्वचालन के लिए एचटीएमएल टैग में आईडी जोड़ना

+1

डुप्लिकेट: http://stackoverflow.com/questions/1230738/how-can-i-automatically-validate-that-i-have-an-html-id-on-every-element – NickFitz

+0

टैग जोड़ें "automated- परीक्षण "," gui-automation " –

उत्तर

4

मुझे नहीं लगता कि कोई सकारात्मक या नकारात्मक प्रभाव होगा: शायद HTML पृष्ठ का आकार थोड़ा बढ़ जाएगा, लेकिन शायद इतना नहीं।

फिर भी, क्या आप वाकई अपने पृष्ठों के प्रत्येक HTML टैग पर "आईडी" विशेषताओं को रखने की आवश्यकता है? क्या उनमें से कुछ ही पर्याप्त नहीं होंगे? फॉर्म फ़ील्ड, लिंक पर, त्रुटि संदेशों पर; और शायद इसके बारे में है?

एक बात आपको ध्यान रखना चाहिए, हालांकि, "आईडी", जैसा कि "पहचानकर्ता", अद्वितीय होना चाहिए; जिसका अर्थ यह है कि उन्हें जोड़ने शुरू करने से पहले, कुछ प्रकार की "आईडी-पॉलिसी" को परिभाषित करने के लिए, उदाहरण के लिए, "उस तरह के तत्वों के लिए आईडी को इस तरह नामित किया जाना चाहिए"।

और, अपने अगले प्रोजेक्ट के लिए: developpers (बेशक और नीति का पालन,) उन जोड़ने जब theyr're ;-)
developping


अब जब कि मैं इसके बारे में सोच रहा हूँ है : एक सकारात्मक प्रभाव यह हो सकता है कि जावास्क्रिप्ट कोड को अपने एचटीएमएल दस्तावेज़ से इंटरैक्ट करना लिखना आसान होगा - लेकिन यह उस समय के लिए अगली परियोजनाओं या विकास के लिए सच होगा, जब वे आईडी उस समय HTML में मौजूद हों डेवलपर्स ने जेएस कोड को जगह में रखा ...

+1

+1 अद्वितीय नोट होना चाहिए। मैं कई डेवलपर्स को यह विश्वास करने के लिए चौंक गया हूं कि यह "केवल एक दिशानिर्देश" है और डुप्लिकेट ठीक हैं। मैंने सलाह देने की कोशिश की है, लेकिन वे टाइटैनिक को किसी भी तरह से पार करने के लिए सामग्री प्रतीत होते हैं। – scunliffe

1

यदि आप साइड इफेक्ट्स के बारे में बात कर रहे हैं - नहीं। आईडी जोड़ने से कोई समस्या नहीं होगी (पाठ्यक्रम के कुछ अतिरिक्त बाइट लेने के अलावा)

यदि आपको वास्तव में आईडी जोड़ने की आवश्यकता है, तो आगे बढ़ें और उन्हें जोड़ें।

0

http://www.w3.org/TR/html4/struct/links.html#anchors-with-id कहता है:

आईडी और नाम विशेषताएँ समान नाम स्थान साझा करती हैं। इसका मतलब यह है कि वे एक ही दस्तावेज़ में एक ही नाम के साथ एक एंकर को परिभाषित नहीं कर सकते हैं। निम्नलिखित तत्वों के लिए तत्व के अद्वितीय पहचानकर्ता को निर्दिष्ट करने के लिए दोनों गुणों का उपयोग करने की अनुमति है: ए, ऐप्लेट, फॉर्म, फ्रेम, आईएफआरएएम, आईएमजी, और एमएपी। जब दोनों गुण एक तत्व पर उपयोग किए जाते हैं, तो उनके मान समान होना चाहिए।

4

चूंकि अभी तक कोई क्यूटीपी संबंधित उत्तर नहीं हैं।

क्यूटीपी में जीयूआई मान्यता ऑब्जेक्ट उन्मुख है। ऑब्जेक्ट की पहचान करने के लिए क्यूटीपी को ऑब्जेक्ट के गुणों का एक अद्वितीय संयोजन की आवश्यकता होती है, और जितनी जल्दी हो सके उतनी जल्दी जांच करनी चाहिए - यही कारण है कि एचटीएमएल आईडी आदर्श होगा।

अब, जहां यह विशेष रूप से महत्वपूर्ण है - उन वस्तुओं के लिए जिनके पास अन्य अद्वितीय पहचानकर्ता नहीं हैं। सबसे आम उदाहरण - एचटीएमएल टेबल। उनकी सामग्री गतिशील है, पृष्ठ पर उनकी संख्या भिन्न हो सकती है। एचटीएमएल आईडी जोड़कर आप पहचान तंत्र को सीधे सही तालिका में ले जाने की अनुमति देते हैं।

अन्य अद्वितीय गुणों वाले ऑब्जेक्ट्स को HTML आईडी के बिना अच्छी तरह से पहचाना जा सकता है। उदाहरण के लिए, यदि आपके पास पृष्ठ पर एक "सबमिट" लिंक है QTP सफलतापूर्वक इसे आंतरिक पाठ द्वारा पहचान लेगा।

तो संदर्भ-विशिष्ट उत्तर: प्रत्येक टैग में आईडी जोड़ने शुरू न करें।स्वचालन लोगों से उन वस्तुओं की एक सूची तैयार करने के लिए कहें जिनके साथ उन्हें समस्या है। और उन वस्तुओं को आईडी जोड़ें।

पी एस। यह स्वचालन प्रोग्रामिंग कौशल पर भी निर्भर करता है। वर्णनात्मक प्रोग्रामिंग और गतिशील मान्यता विधियां हैं। वे प्रदान की गई आईडी के बिना भी सही वस्तुओं को पुनर्प्राप्त करने की अनुमति देते हैं।

2

Albert के रूप में कहा, QTP सच है कि कई वेब अनुप्रयोग, प्रत्येक सत्र के लिए विभिन्न id रों उत्पन्न (मुझे याद है जहाँ तक) id संपत्ति नहीं है की वजह से 'id तत्वों पर पूरी तरह निर्भर नहीं करता है, वास्तव में अधिकांश वेब परीक्षण वस्तुओं के लिए डिफ़ॉल्ट विवरण का हिस्सा।

क्यूटीपी सबसे सरल वेब नियंत्रण को पहचानने में बहुत अच्छा है और यदि आपको समस्याएं आ रही हैं तो यह हो सकता है कि Web Extensibility प्रोजेक्ट आपको अपने वेब एप्लिकेशन के अर्थशास्त्र के बीच के अंतर को पुल करने में मदद करेगा और कच्चे HTML को बनाया गया है यदि क्यूटीपी द्वारा एक जटिल नियंत्रण WebElement (जो वास्तव में है जो span है जो कोड चलाता है) में आपको जटिलता की समस्याएं होती हैं क्योंकि पृष्ठ पर कई div एस हैं, लेकिन संभवतः बहुत कम जटिल नियंत्रित करता है।

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