2015-05-19 6 views
5

मैं अपनी कुछ परीक्षण प्रक्रियाओं को स्वचालित करने के लिए देख रहा हूं और मैं Nightwatch.js और जावास्क्रिप्ट के लिए अपेक्षाकृत नया हूं। क्या कोई तरीका है कि मैं इसके वर्ग के आधार पर एक तत्व पर क्लिक कर सकता हूं और बाद के सरणी में स्थिति को वापस कर सकता हूं जो उसी वर्ग के साथ कई तत्व हैं यदि वापस कर दिया जाएगा।क्या मैं nightwatch.js में अपनी सरणी स्थिति से तत्व चुन सकता हूं?

उदाहरण के लिए निम्नलिखित एचटीएमएल ले: -

<div class="clickable-button"><p>Some Text</p></div> 
<div class="clickable-button"><p>Some Text 2</p></div> 
<div class="clickable-button"><p>Some Text 3</P></div> 

अगर मैं क्रोम विकास उपकरण का उपयोग करें और कंसोल में निम्नलिखित कमांड चलाएँ: -

$('.clickable-button') 

यह तीन तत्व की एक सरणी देता है ऊपर सूचीबद्ध।

मैं पहले <div> तत्व पर क्लिक करना चाहता हूं और जानना चाहता हूं कि सीएसएस चयनकर्ता का उपयोग करके मैं ऐसा कर सकता हूं या नहीं? मैं <p> टैग के भीतर दिखाई देने वाले पाठ के माध्यम से चयन नहीं कर सकता क्योंकि यह गतिशील डेटा है।

मैं Nightwatch में निम्न कमांड की कोशिश की है: -

browser.click('.clickable-button'[0]) 

browser.click('clickable-button[0]') 

न की इन विकल्पों में काम करते हैं। किसी तरह की सहायता या सुझाव की हम सराहना करते हैं।

उत्तर

4

आप शायद इस्तेमाल कर सकते हैं तो यह पुराने ब्राउज़र द्वारा समर्थित नहीं है :nth-of-type

browser.click('.clickable-button:nth-of-type(1)'); 

BTW :nth-of-type CSS3 का हिस्सा है।

+0

यह काम नहीं करता है। – Michal

1

सीएसएस चयनकर्ता का उपयोग करके इसके अलावा, XPath एक और विकल्प आप

browser .useXpath() //ignore this line if you already selected xpath as strategy .click('(//div[@class="clickable-button"])[1]')

पहला बटन का पता लगाने के लिए कर सकते हैं। Reference

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