मैं सरू के लिए नया हूं और एक परिदृश्य है जहां मुझे नीचे दी गई तालिका से 'text2' का चयन करने की आवश्यकता है जो एक दृश्य के अंतर्गत है, 'text2' फीचर फ़ाइल से मान है।

<table>
  <tr .............>
     <td ..........>
        <div  ....>
           <input class= ' ' ..... value='text1'>
         </div>
     </td>
   </tr>
   <tr .............>
     <td ..........>
        <div  ....>
           <input class= ' ' ..... value='text2'>
         </div>
     </td>
   </tr>
</table>

मैंने कोशिश की cy.get('table tr').find('td').contains('text2').click() यह काम नहीं कर रहा है, कोई सुझाव बहुत मददगार होगा, धन्यवाद।

0
Hema Latha 17 जुलाई 2020, 17:00

2 जवाब

सबसे बढ़िया उत्तर

अच्छा सवाल, यह वास्तव में थोड़ा मुश्किल है।

यदि आप इस साइप्रस उदाहरण का अनुसरण करते हैं इनपुट का पता लगाएं[type='submit'] मान के आधार पर,

तो आपके इनपुट में काम करने के लिए contains() के लिए type='submit' विशेषता होनी चाहिए

<div id="main">
  <form>
    <div>
      <label>name</label>
      <input name="name" />
    </div>
    <div>
      <label>age</label>
      <input name="age" />
    </div>
    <input type="submit" value="submit the form!" />
  </form>
</div>
// yields input[type='submit'] element then clicks it
cy.get('form').contains('submit the form!').click()

हालांकि, type='submit' वेब पेज पर बटन तैयार करता है।


यदि आप इनपुट बॉक्स चाहते हैं (टाइप = 'टेक्स्ट' जो निर्दिष्ट नहीं होने पर डिफ़ॉल्ट है), तो आप .contains() का उपयोग नहीं कर सकते। आप .invoke('val') के साथ a का मान एक्सेस कर सकते हैं।

हालांकि, अफसोस की बात है कि .invoke('val') सटीक तत्व को उसी तरह इंगित नहीं करता है जैसे .contains() करता है। यह केवल पहले इनपुट का टेक्स्ट मान प्राप्त करता है और टेक्स्ट लौटाता है, तत्व नहीं (इसलिए आप इसे क्लिक नहीं कर सकते)।

सबसे अच्छा तरीका है कि मैं एक then() के अंदर एक चयन फ़ंक्शन का निर्माण करूँ

cy.get('table tr td input')
  .then($inputs => {                           // pass in all inputs
    return Array.from($inputs)                 // convert to array
      .find(input => input.value === 'text2')  // use Array.find() to pick the element
  })
  .should('have.value', 'text2')  // in case 'text2' does not exist
  .click()
1
eric99 18 जुलाई 2020, 04:03

उस तत्व का चयन कैसे करें जिसमें परीक्षण शामिल है:

cy.contains('text2').click();
0
Sanja Paskova 17 जुलाई 2020, 19:35