ProtractorHarnessEnvironment
A HarnessEnvironment implementation for Protractor.
Deprecation warning
constructor
ProtractorHarnessEnvironmentElementFinderProtractorHarnessEnvironmentforceStabilize
Promise<void>Flushes change detection and async tasks captured in the Angular zone. In most cases it should not be necessary to call this manually. However, there may be some edge cases where it is needed to fully flush animation events.
Promise<void>getDocumentRoot
ElementFinderGets the root element for the document.
ElementFindercreateTestElement
TestElementCreates a TestElement from a raw element.
ElementFinderTestElementcreateEnvironment
HarnessEnvironment<ElementFinder>Creates a HarnessLoader rooted at the given raw element.
ElementFinderHarnessEnvironment<ElementFinder>getAllRawElements
Promise<ElementFinder[]>Gets a list of all elements matching the given selector under this environment's root element.
stringPromise<ElementFinder[]>rawRootElement
EThe native root element of this HarnessEnvironment.
rootElement
TestElementThe root element of this HarnessEnvironment as a TestElement.
rootElement
TestElementdocumentRootLocatorFactory
LocatorFactoryGets a locator factory rooted at the document root.
LocatorFactorylocatorFor
() => Promise<LocatorFnResult<T>>Creates an asynchronous locator function that can be used to find a ComponentHarness instance
or element under the root element of this HarnessEnvironment.
For example, given the following DOM and assuming DivHarness.hostSelector is 'div'
<div id="d1"></div><div id="d2"></div>
then we expect:
await lf.locatorFor(DivHarness, 'div')() // Gets a `DivHarness` instance for #d1
await lf.locatorFor('div', DivHarness)() // Gets a `TestElement` instance for #d1
await lf.locatorFor('span')() // Throws because the `Promise` rejects
TA list of queries specifying which harnesses and elements to search for:
- A
stringsearches for elements matching the CSS selector specified by the string. - A
ComponentHarnessconstructor searches forComponentHarnessinstances matching the given class. - A
HarnessPredicatesearches forComponentHarnessinstances matching the given predicate.
() => Promise<LocatorFnResult<T>>locatorForOptional
() => Promise<LocatorFnResult<T> | null>Creates an asynchronous locator function that can be used to find a ComponentHarness instance
or element under the root element of this HarnessEnvironmnet.
For example, given the following DOM and assuming DivHarness.hostSelector is 'div'
<div id="d1"></div><div id="d2"></div>
then we expect:
await lf.locatorForOptional(DivHarness, 'div')() // Gets a `DivHarness` instance for #d1
await lf.locatorForOptional('div', DivHarness)() // Gets a `TestElement` instance for #d1
await lf.locatorForOptional('span')() // Gets `null`
TA list of queries specifying which harnesses and elements to search for:
- A
stringsearches for elements matching the CSS selector specified by the string. - A
ComponentHarnessconstructor searches forComponentHarnessinstances matching the given class. - A
HarnessPredicatesearches forComponentHarnessinstances matching the given predicate.
() => Promise<LocatorFnResult<T> | null>locatorForAll
() => Promise<LocatorFnResult<T>[]>Creates an asynchronous locator function that can be used to find ComponentHarness instances
or elements under the root element of this HarnessEnvironment.
For example, given the following DOM and assuming DivHarness.hostSelector is 'div' and
IdIsD1Harness.hostSelector is '#d1'
<div id="d1"></div><div id="d2"></div>
then we expect:
// Gets [DivHarness for #d1, TestElement for #d1, DivHarness for #d2, TestElement for #d2]
await lf.locatorForAll(DivHarness, 'div')()
// Gets [TestElement for #d1, TestElement for #d2]
await lf.locatorForAll('div', '#d1')()
// Gets [DivHarness for #d1, IdIsD1Harness for #d1, DivHarness for #d2]
await lf.locatorForAll(DivHarness, IdIsD1Harness)()
// Gets []
await lf.locatorForAll('span')()
TA list of queries specifying which harnesses and elements to search for:
- A
stringsearches for elements matching the CSS selector specified by the string. - A
ComponentHarnessconstructor searches forComponentHarnessinstances matching the given class. - A
HarnessPredicatesearches forComponentHarnessinstances matching the given predicate.
() => Promise<LocatorFnResult<T>[]>rootHarnessLoader
Promise<HarnessLoader>Promise<HarnessLoader>harnessLoaderFor
Promise<HarnessLoader>Gets a HarnessLoader instance for an element under the root of this HarnessEnvironment.
stringThe selector for the root element.
Promise<HarnessLoader>harnessLoaderForOptional
Promise<HarnessLoader | null>Gets a HarnessLoader instance for an element under the root of this HarnessEnvironment.
stringThe selector for the root element.
Promise<HarnessLoader | null>harnessLoaderForAll
Promise<HarnessLoader[]>Gets a list of HarnessLoader instances, one for each matching element.
stringThe selector for the root element.
Promise<HarnessLoader[]>getHarness
Promise<T>Searches for an instance of the component corresponding to the given harness type under the
HarnessEnvironment's root element, and returns a ComponentHarness for that instance. If
multiple matching components are found, a harness for the first one is returned. If no matching
component is found, an error is thrown.
HarnessQuery<T>A query for a harness to create
Promise<T>getHarnessOrNull
Promise<T | null>Searches for an instance of the component corresponding to the given harness type under the
HarnessEnvironment's root element, and returns a ComponentHarness for that instance. If
multiple matching components are found, a harness for the first one is returned. If no matching
component is found, null is returned.
HarnessQuery<T>A query for a harness to create
Promise<T | null>getHarnessAtIndex
Promise<T>Searches for an instance of the component corresponding to the given harness type and index
under the HarnessEnvironment's root element, and returns a ComponentHarness for that
instance. The index specifies the offset of the component to find. If no matching
component is found at that index, an error is thrown.
HarnessQuery<T>A query for a harness to create
numberPromise<T>getAllHarnesses
Promise<T[]>Searches for all instances of the component corresponding to the given harness type under the
HarnessEnvironment's root element, and returns a list ComponentHarness for each instance.
HarnessQuery<T>A query for a harness to create
Promise<T[]>countHarnesses
Promise<number>Searches for all instance of the component corresponding to the given harness type under the
HarnessEnvironment's root element, and returns the number that were found.
HarnessQuery<T>A query for a harness to create
Promise<number>hasHarness
Promise<boolean>Searches for an instance of the component corresponding to the given harness type under the
HarnessEnvironment's root element, and returns a boolean indicating if any were found.
HarnessQuery<T>A query for a harness to create
Promise<boolean>getChildLoader
Promise<HarnessLoader>Searches for an element with the given selector under the evironment's root element,
and returns a HarnessLoader rooted at the matching element. If multiple elements match the
selector, the first is used. If no elements match, an error is thrown.
stringThe selector for the root element of the new HarnessLoader
Promise<HarnessLoader>getAllChildLoaders
Promise<HarnessLoader[]>Searches for all elements with the given selector under the environment's root element,
and returns an array of HarnessLoaders, one for each matching element, rooted at that
element.
stringThe selector for the root element of the new HarnessLoader
Promise<HarnessLoader[]>createComponentHarness
TCreates a ComponentHarness for the given harness type with the given raw host element.
ComponentHarnessConstructor<T>ETloader
HarnessLoaderCreates a HarnessLoader rooted at the document root.
HarnessLoadergetNativeElement
ElementFinderGets the ElementFinder corresponding to the given TestElement.
TestElementElementFinder