How do I assert an element is focused? धागा के अनुसार, आप देख सकते हैं कि एक तत्व एक activeElement()
में स्विच करके ध्यान केंद्रित है और जोर इस एक ही तत्व आप ध्यान केंद्रित होने की संभावना है:जोर देकर कहा एक तत्व केंद्रित है
expect(page.element.getAttribute('id')).toEqual(browser.driver.switchTo().activeElement().getAttribute('id'));
मेरे मामले में, वर्तमान में तत्व पर केंद्रित id
विशेषता नहीं है।
id
की जांच करने के बजाय मुझे क्या करना चाहिए?
बोनस प्रश्न: साथ ही, जैसा कि आप इसे हल करने के लिए मेरी कोशिशों से देख सकते हैं, ऐसा लगता है कि मैं एक पूर्ण वस्तु के रूप में तत्व (या वेब तत्व) की अपेक्षा/अनुमान नहीं लगा सकता। क्यूं कर?
मैं कोशिश की है:
expect(page.element).toEqual(browser.driver.switchTo().activeElement());
लेकिन है एक त्रुटि मैं भी समझ में नहीं आ सकते हैं के साथ विफल हो रहा है - वहाँ एक बहुत बड़ा ट्रैस बैक (इसके बारे में 10 मिनट के कंसोल में स्क्रॉल करने के लिए है) है, लेकिन अंदर उपयोगकर्ता के अनुकूल त्रुटि नहीं है। नवीनतम चांदा विकास संस्करण का उपयोग करना
Error: expect called with WebElement argument, expected a Promise. Did you mean to use .getText()?
:
मैं भी getWebElement()
उपयोग करने के लिए कोशिश की है:
expect(page.element.getWebElement()).toEqual(browser.driver.switchTo().activeElement());
लेकिन यह निम्न त्रुटि प्राप्त हुई।
आपका 'पृष्ठ.लेमेंट'' क्या है, आप इसे कहां निर्दिष्ट करते हैं? –
@BettySt मैं एक वास्तविक तत्व के बारे में बात नहीं करना पसंद करता हूं और इसके बारे में सोचता हूं कि इस पर भरोसा करने के लिए कोई विशेषता नहीं है .. लेकिन अगर आप पूछें कि यह 'इनपुट नाम = "उपयोगकर्ता नाम"> 'तत्व है, जिसे मैं कर सकता हूं , सख्ती से 'नाम' विशेषता द्वारा पहचाना जा रहा है..लेकिन मैं इससे बचना चाहता हूं .. – alecxe
हम्म मैं वास्तव में समझ में नहीं आता कि आप तत्व निर्दिष्ट क्यों नहीं करते हैं .. किसी भी तरह से इस तत्व की तुलना में उपयोगकर्ता कार्रवाई होनी चाहिए ध्यान केंद्रित किया? जब आप उपयोग के मामले का वर्णन करते हैं तो शायद हमारे लिए यह आसान है ..? –