दिलचस्प पोस्ट
NSPhotoLibraryUsageDescription कुंजी को जानकारी के लिए होना चाहिए। प्लगलिस्ट कैमरा रोल का उपयोग करने के लिए छवि पर जावा पाठ जावा रेगेक्स – ओवरलैपिंग मैचों पृष्ठभूमि रंग या WPF (4.0) सूची बॉक्स की स्थापना – विंडोज 8 CMAKE_BUILD_TYPE को CMakeLists.txt में उपयोग नहीं किया जा रहा है setShadowLayer एंड्रॉइड एपीआई अंतर एक .net ऑब्जेक्ट के आकार का पता लगाएं मौजूदा उपयोगकर्ता कैसे प्राप्त करें और MVC5 में उपयोगकर्ता वर्ग का उपयोग कैसे करें? एक UISearchBar में रद्द बटन स्टाइल आपको C ++ में 'मित्र' का उपयोग कब करना चाहिए? विंडोज फोन 8 में एचटीटीपी क्लाइंट के साथ कैश नहीं है क्या आप डॉकर कंटेनर में जीयूआई एप्लिकेशन चला सकते हैं? जावा: अनसुलझे संकलन समस्या sizeof ऑपरेटर के साथ समस्या स्नैपशॉट दृश्य में फ़ाइलों की स्थानीय प्रतिलिपि खोजें

प्रक्षेपक में, ब्राउज़र। आईईएलमेंट प्रस्तुति बनाम तत्व.इस प्रस्तुति बनाम तत्व.इस एलेमेंटप्रदर्शन

प्रक्षेपक में, मूलतः, एक तत्व मौजूद है या नहीं यह देखने के 3 तरीके हैं:

var elm = element(by.id("myid")); browser.isElementPresent(elm); elm.isPresent(); elm.isElementPresent(); 

क्या ये विकल्प समतुल्य और विनिमेय हैं, और किस को आम तौर पर पसंद किया जाना चाहिए?

Solutions Collecting From Web of "प्रक्षेपक में, ब्राउज़र। आईईएलमेंट प्रस्तुति बनाम तत्व.इस प्रस्तुति बनाम तत्व.इस एलेमेंटप्रदर्शन"

सूक्ष्म अंतर के साथ एक समान तरीके से सभी फ़ंक्शन यहां कुछ अंतर हैं जो मुझे मिले हैं –

elm.isPresent()

  1. ElementFinder विस्तार है और किसी भी एक्शन को निष्पादित करने से पहले पृष्ठ पर बसने के लिए कोणीय का इंतजार करता है।
  2. यह तब काम करता है जब elm एक element(locator) या ElementFinder और ElementArrayFinder नहीं ElementArrayFinder निर्दिष्ट किए गए locator का उपयोग करके कई तत्व वापस कर दिए गए हैं, तो पहले तत्व की जांच की जाती है अगर यह DOM में isEnabled() है इनपुट के रूप में कोई पैरामीटर नहीं लेता है
  3. कोणीय पृष्ठों और कोणीय तत्वों के साथ सबसे अच्छा काम करता है
  4. जब भी एक तत्व मौजूद है, यह जानने की आवश्यकता है कि उसका उपयोग करने के लिए पहली प्राथमिकता।

elm.isElementPresent(subLoc) – (जब elm लिए एक उप लोकेटर है)

  1. ElementFinder विस्तार है और किसी भी एक्शन को निष्पादित करने से पहले पृष्ठ पर बसने के लिए कोणीय का इंतजार करता है।
  2. माता-पिता के उप तत्वों की मौजूदगी की जांच करने के लिए उपयोग किया जाता है यह पैरामीटर के रूप में पैरेंट elm को एक sub locator लेता है (इस और elm.isPresent() बीच केवल अंतर। elm.isPresent() )
  3. कोणीय पृष्ठों और कोणीय तत्वों के साथ सबसे अच्छा काम करता है
  4. जब भी माता-पिता का उप-तत्व मौजूद है, यह जांचने के लिए पहली बार प्राथमिकता का उपयोग करना है।

browser.isElementPresent(element || Locator)

  1. webdriver कार्यान्वयन है और ऐसा करने के लिए कोणीय को व्यवस्थित करने के लिए इंतजार नहीं करता है
  2. एक locator या एक element को एक पैरामीटर के रूप में ले जाता है और पहले परिणाम का उपयोग करता है यदि एकाधिक तत्व समान लोकेटर का उपयोग करते हुए स्थित होते हैं।
  3. गैर-कोना पृष्ठों के साथ सबसे अच्छा उपयोग किया गया
  4. गैर-कोण पृष्ठों पर परीक्षण करते समय उपयोग करने के लिए पहली प्राथमिकता

DOM में एक तत्व की उपस्थिति के लिए उपरोक्त सभी चेक और एक boolean परिणाम लौटाएं। हालांकि कोणीय और गैर-कोणीय विशेषताएं इन विधियों के उपयोग को प्रभावित नहीं करती हैं, लेकिन एक अतिरिक्त लाभ होता है, जब विधि डिफ़ॉल्ट रूप से व्यवस्थित करने के लिए कोणीय के लिए इंतजार करता है और किसी भी प्रकार के तत्व जैसे तत्व नहीं मिला या राज्य तत्व संदर्भ अपवादों के मामले में त्रुटियों से बचने में मदद करता है, आदि…

मैं किसी से बात नहीं कर सकता है, लेकिन मुझे स्रोत कोड मिल रहा है और इसे जांचना है।

डॉक्स के अनुसार, elm.isPresent() और elm.isElementPresent() समकक्ष हैं। उम्मीद है की वो मदद करदे।

प्रोटोकैक्टर एपीआई डॉक्स

केवल शीर्षक के दाईं ओर View code को View code लिए एक लिंक है

browser.isElementPresent (एल्म);

https://angular.github.io/protractor/#/api?view=webdriver.WebElement.prototype.isElementPresent

 /** * Schedules a command to test if there is at least one descendant of this * element that matches the given search criteria. * * @param {!(webdriver.Locator|webdriver.By.Hash|Function)} locator The * locator strategy to use when searching for the element. * @return {!webdriver.promise.Promise.<boolean>} A promise that will be * resolved with whether an element could be located on the page. */ webdriver.WebElement.prototype.isElementPresent = function(locator) { return this.findElements(locator).then(function(result) { return !!result.length; }); }; 

elm.isPresent ();

https://angular.github.io/protractor/#/api?view=ElementFinder.prototype.isPresent

 /** * Determine whether the element is present on the page. * * @view * <span>{{person.name}}</span> * * @example * // Element exists. * expect(element(by.binding('person.name')).isPresent()).toBe(true); * * // Element not present. * expect(element(by.binding('notPresent')).isPresent()).toBe(false); * * @return {ElementFinder} which resolves to whether * the element is present on the page. */ ElementFinder.prototype.isPresent = function() { return this.parentElementArrayFinder.getWebElements().then(function(arr) { if (arr.length === 0) { return false; } return arr[0].isEnabled().then(function() { return true; // is present, whether it is enabled or not }, function(err) { if (err.code == webdriver.error.ErrorCode.STALE_ELEMENT_REFERENCE) { return false; } else { throw err; } }); }, function(err) { if (err.code == webdriver.error.ErrorCode.NO_SUCH_ELEMENT) { return false; } else { throw err; } }); }; 

elm.isElementPresent ();

https://angular.github.io/protractor/#/api?view=ElementFinder.prototype.isElementPresent

 /** * Same as ElementFinder.isPresent(), except this checks whether the element * identified by the subLocator is present, rather than the current element * finder. ie `element(by.css('#abc')).element(by.css('#def')).isPresent()` is * identical to `element(by.css('#abc')).isElementPresent(by.css('#def'))`. * * @see ElementFinder.isPresent * * @param {webdriver.Locator} subLocator Locator for element to look for. * @return {ElementFinder} which resolves to whether * the subelement is present on the page. */ ElementFinder.prototype.isElementPresent = function(subLocator) { if (!subLocator) { throw new Error('SubLocator is not supplied as a parameter to ' + '`isElementPresent(subLocator)`. You are probably looking for the ' + 'function `isPresent()`.'); } return this.element(subLocator).isPresent(); }; 

आप जांच कर सकते हैं कि तत्व मौजूद है या नहीं isPresent फ़ंक्शन का उपयोग करके।

तो, आपका कोड कुछ ऐसा होगा:

 var myElement = element(by.css('.elementClass')); expect(myElement.isPresent()).toBeFalsy(); 

यहां आईपीएस प्रोजेक्ट के लिए प्रक्षेपक दस्तावेज़ हैं।