मेरे पास GWT एप्लिकेशन है जिसके लिए मैं Selenium का उपयोग करके कुछ परीक्षण लिखने की कोशिश कर रहा हूं।मैं XPath का उपयोग करके केवल दृश्य तत्वों का चयन कैसे करूं?
मैं परीक्षण के लिए पृष्ठ पर तत्वों की पहचान करने के लिए XPath का उपयोग कर रहा हूं। id
का उपयोग id
मानों के रूप में काम नहीं करेगा जीडब्ल्यूटी द्वारा ऑटो-जेनरेट किया गया है और बदल सकता है। चीजें अच्छी तरह से जा रहा शुरू कर दिया जब मुझे एहसास हुआ कि इस प्रकार मैं उनके लेबल करके बटन मिल सकता है:
//button[.='OK']
हालांकि, जब मैं कई परीक्षण मैं समस्या शुरू होने पर चल रहा शुरू कर दिया। मुझे एहसास हुआ कि यह मुद्दा जावास्क्रिप्ट द्वारा जेनरेट किए गए जीडब्ल्यूटी ऐप के सभी अलग-अलग "पेज" थे, जो HTML में छिपे हुए <div>
तत्वों में रहते हैं। इसका मतलब है कि मेरे सेलेनियम परीक्षण कभी-कभी वर्तमान दृश्य में दिखाई देने वाले बटन के बजाय छिपा बटन क्लिक कर रहे थे।
Firebug के साथ HTML की जांच करना, ऐसा लगता है कि GWT खाल उनके style
विशेषता को display: none
जोड़कर <div>
तत्वों। इसका मतलब यह है इस प्रकार के रूप में मैं सब छिपा ठीक बटन पा सकते हैं:
//div[contains(@style,'display: none')]//button[.='OK']
यह सब छिपा ठीक बटन, बटन जो एक पूर्वज <div>
जो style
में display: none
होने से छिपा हुआ है है यानी मिल जाएगा।
मेरा प्रश्न है: मैं केवल ओके बटन को खोजने के लिए XPath का उपयोग कैसे करूं? style
में display: none
वाले तत्वों को कोई पूर्वजों <div>
तत्वों को मैं कैसे ढूंढूं?
यह है कि मिल जाएगा। बहुत धन्यवाद। –
पिछला कोई काम नहीं करता है यदि डोम-पेड़ में कोई अन्य div है जो छिपी नहीं है:
– Fortega@ फोर्टेगा और यह इसके आसपास के पाठ में कहा जाता है –