Extend
Methods
You can create custom helpers by creating Ceibo
descriptors. (Ceibo
is a small library for parsing trees. You can check it out here).
findElementWithAssert
addon/-private/extend/find-element-with-assert.js:38-44
Parameters
pageObjectNode
Ceibo Node of the treetargetSelector
string Specific CSS selectoroptions
Object Additional optionsoptions.resetScope
boolean Do not use inherited scopeoptions.contains
string Filter by using :contains(‘foo’) pseudo-classoptions.last
boolean Filter by using :last pseudo-classoptions.visible
boolean Filter by using :visible pseudo-classoptions.multiple
boolean Specify if built selector can match multiple elements.options.testContainer
String Context where to search elements in the DOMoptions.at
number Filter by index using :eq(x) pseudo-classoptions.pageObjectKey
String Used in the error message when the element is not found
Examples
import { findElementWithAssert } from 'ember-cli-page-object/extend';
export default function isDisabled(selector, options = {}) {
return {
isDescriptor: true,
get() {
return findElementWithAssert(this, selector, options).is(':disabled');
}
};
}
findElement
addon/-private/extend/find-element.js:36-42
Parameters
pageObjectNode
Ceibo Node of the treetargetSelector
string Specific CSS selectoroptions
Object Additional optionsoptions.resetScope
boolean Do not use inherited scopeoptions.contains
string Filter by using :contains(‘foo’) pseudo-classoptions.at
number Filter by index using :eq(x) pseudo-classoptions.last
boolean Filter by using :last pseudo-classoptions.visible
boolean Filter by using :visible pseudo-classoptions.multiple
boolean Specify if built selector can match multiple elements.options.testContainer
String Context where to search elements in the DOM
Examples
import { findElement } from 'ember-cli-page-object/extend';
export default function isDisabled(selector, options = {}) {
return {
isDescriptor: true,
get() {
return findElement(this, selector, options).is(':disabled');
}
};
}
Usage Example:
const page = create({
scope: '.page',
isAdmin: disabled('#override-name')
});
page.isAdmin
will look for elements in the DOM that match “.page
#override-name” and check if they are disabled.