2013-08-16 16 views
5

हमारी टीम AngularJS के साथ एक वेब ऐप पर काम कर रही है। परीक्षण के लिए, हम इकाई परीक्षण और कोणीय-ई 2 परीक्षण के लिए जैस्मीन का उपयोग करते हैं। यह ठीक काम करता है। हालांकि, हमारी क्यूए टीम ने आज हमसे संपर्क किया कि उन्होंने वेब ऐप का परीक्षण करने के लिए सेलेनियम का उपयोग करने की कोशिश की लेकिन समस्याओं का सामना करना पड़ा क्योंकि हम अधिकांश डीओएम तत्वों के लिए आईडी परिभाषित नहीं कर रहे हैं। हमने इस पर थोड़ा सा शोध किया है लेकिन कोई भाग्य नहीं है। क्या कोई सेलेनियम के उपयोग के लिए सभी आईडी में स्पष्ट रूप से जोड़ने के बिना सेलेनियम परीक्षण करने का एक अच्छा तरीका सुझा सकता है? धन्यवाद!तत्व आईडी के बिना सेलेनियम के साथ कोणीय परीक्षण

अद्यतन

हम कुछ बैठकों है और परीक्षण में मजबूती के लिए तत्वों के लिए आईडी डालने समाप्त हो गया। उत्तर देने के लिए सभी को धन्यवाद :)

+1

यह संभव है हाँ, नीचे उत्तर देखें। हालांकि, ध्यान रखें कि 'xpath' या' css-selectors 'का उपयोग करके बनाए गए परीक्षण अधिक नाजुक होंगे जो तत्वों के लिए उचित अद्वितीय' आईडी 'के साथ बनाए गए हैं। –

+0

नोट के लिए धन्यवाद! तो क्या यह बेहतर है कि हम इस मामले में सभी तत्वों के लिए अद्वितीय आईडी पेश करते हैं? वर्तमान में हमारी टीम में दो विचार हैं कि एक, हमें केवल एक सहायक उपकरण के लिए ऐप को बहुत अधिक नहीं बदला जाना चाहिए (बहुत सारे आईडी पेश करके); दो, आईडी प्रस्तुत करना मुश्किल और न ही विनाशकारी है, अगर यह समस्या हल करता है तो क्यों नहीं। दोनों विचार हमारे लिए उचित लगते हैं, जो इस मामले में बेहतर तरीका होगा? – PSWai

उत्तर

5

यदि आप सेलेनियम वेबड्राइवर का उपयोग कर रहे हैं तो पृष्ठ पर तत्व ढूंढने के कई तरीके हैं। XPATH शायद लचीलापन के रूप में बेहतर दृष्टिकोणों में से एक है (हालांकि यह बदसूरत हो सकता है) लेकिन वेबड्राइवर आपको कक्षा नाम, टैग नाम, नाम, लिंक टेक्स्ट और सीएसएस का उपयोग करने की अनुमति देता है।

Selenium WebDriver - Locate UI Elements

+0

इसे इंगित करने के लिए धन्यवाद! व्यक्तिगत रूप से मुझे सेलेनियम वेबड्राइवर के साथ कोई अनुभव नहीं है इसलिए मुझे इस बारे में बहुत यकीन नहीं है, मैं इस पर फिर से हमारी क्यूए टीम से संपर्क करूंगा :) – PSWai

1

अब हम अपने काम में एक ही स्थिति का सामना करना पड़ा। जैसा कि इस चर्चा में उल्लिखित है, हमने इस मुद्दे को दूर करने के लिए संभावित दो दृष्टिकोणों की तुलना की:

  1. तत्वों को अलग-अलग प्रयास करें और ढूंढें।
  2. जहां आवश्यक हो, नए गुणों का परिचय दें, भले ही उन्हें कोणीय विकास की आवश्यकता न हो।

हमने (2) के साथ जाने और जहां आवश्यक हो वहां आईडी जोड़ने का फैसला किया। टेस्ट मजबूती बहुत बेहतर है और ओवरहेड बिल्कुल महत्वपूर्ण नहीं है।

हमने वास्तव में क्या किया? प्रासंगिक तत्वों के लिए, "डेटा-हुक" नाम की विशेषता को उचित मूल्य के साथ जोड़ा गया था जो उसे पहचानता है। बहुत अच्छा काम करता है।

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