/ / तत्व बिंदु पर क्लिक करने योग्य नहीं है - लेकिन यह वास्तव में क्लिक करता है - सेलेनियम, एक्सपैथ, स्वचालित-परीक्षण, रोबोटफ्रेमवर्क, सेलेनियम 2 लॉर्ड्स

तत्व बिंदु पर क्लिक करने योग्य नहीं है - लेकिन यह वास्तव में क्लिक करता है - सेलेनियम, एक्सपैथ, स्वचालित परीक्षण, रोबोटफ्रेमवर्क, सेलेनियम 2 लाइब्रेरी

मेरा परीक्षण विफल हो रहा है:

WebDriverException: संदेश: अज्ञात त्रुटि: तत्व बिंदु पर क्लिक करने योग्य नहीं है (1) 786, 183)। अन्य तत्व क्लिक प्राप्त करेंगे: <"div align =" right "> ... <" / div>

xpath I एक्सेस है:

${UPDATE}    xpath=//button[@type="submit" and contains(text(),"Update")]

कीवर्ड में उपयोग करें:

    wait until element is visible   ${UPDATE}
click element    ${UPDATE}

स्रोत:

<div align="right">
<button type="submit" class="btn btn-primary ng-binding" ng-click="submitForm()" ng-disabled="updateDisabled">Update</button>
<button type="button" class="btn btn-primary" ng-click="reset(projectForm)" ng-disabled="updateDisabled">Reset</button>
</div>

परंतु बटन वास्तव में परीक्षण में क्लिक किया गया है -> डेटा सहेजा जाता है - इसलिए यह ठीक है। मैं सिर्फ यह नहीं समझता कि यह अपवाद को क्यों फेंकता है जब यह सही ढंग से क्लिक करता है और मैं इसे पास करने के लिए क्या कर सकता हूं..यह स्पष्ट है कि यह तत्व पाया गया और इस पर क्लिक किया गया ... मैंने भी "प्रतीक्षा तक" का उपयोग करने की कोशिश की तत्व सक्षम है "और" फोकस "... किसी भी सुझाव के लिए धन्यवाद! पुनश्च: मैंने "" "तत्व को अपवाद में जोड़ने के लिए चरित्र को जोड़ा, अन्यथा इसे यहां प्रदर्शित नहीं किया गया था .. :)

उत्तर:

जवाब के लिए 0 № 1

हालाँकि ऐसा करने के लिए वास्तव में बुरा अभ्यास है, मैं एक दो रखने की सलाह दूंगा Sleep 1s उदाहरण के लिए, आपके परीक्षण के मामले में कीवर्ड:

Sleep    1s
Wait Until Element Is Visible   ${UPDATE}
Sleep    1s
Click Element    ${UPDATE}
Sleep    1s

बस डिबग करने के लिए और सुनिश्चित करें कि ड्राइवर isn "tखुद पर हावी हो रहा है। (मैं कौन सा मुद्दा था) यदि यह काम करता है और गुजरता है, तो आपको मूल रूप से सक्रिय होने वाले बटन की तुलना में लंबे समय तक प्रतीक्षा करने की आवश्यकता होगी। क्या वेबपृष्ठ का एक और खंड है जिसे लोड होने में अधिक समय लगता है? यदि ऐसा है तो उपयोग करें।

लेकिन जब आप कर सकते हैं, से छुटकारा Sleep 1s कुंजी शब्द क्योंकि यह वास्तव में बुरा अभ्यास है।


जवाब के लिए 0 № 2

मैं निम्नलिखित दृष्टिकोण का उपयोग कर रहा हूं।

  1. वह तत्व जो पेज के पूरी तरह लोड होने के बाद दिखाई देता है।
  2. इसे प्राप्त करें

निम्नलिखित कीवर्ड का उपयोग करें:

Wait Until Keyword Succeeds  Page Should Contain Element  ${Xpath}
Click Element  ${Element}

यह आपको उपयोग करने से बचने में मदद करेगा sleeps आपके वृषण में।


जवाब के लिए 0 № 3

कैसा रहेगा: wait until element is visible ${UPDATE} mouse down ${UPDATE} mouse up ${UPDATE}

कुछ अजीब अभिनय तत्वों के लिए मेरे लिए काम किया ।।