Attribute
Methods
Table of Contents
attribute
Parameters
attributeName
string Name of the attribute to getselector
string CSS selector of the element to checkuserOptions
(optional, default{}
)options
Object Additional optionsoptions.scope
string Nests provided scope within parent’s scopeoptions.resetScope
boolean Override parent’s scopeoptions.at
number Reduce the set of matched elements to the one at the specified indexoptions.multiple
boolean If set, the function will return an array of valuesoptions.testContainer
string Context where to search elements in the DOM
Examples
// <input placeholder="a value">
const page = PageObject.create({
inputPlaceholder: PageObject.attribute('placeholder', 'input')
});
assert.equal(page.inputPlaceholder, 'a value');
// <input placeholder="a value">
// <input placeholder="other value">
const page = PageObject.create({
inputPlaceholders: PageObject.attribute('placeholder', ':input', { multiple: true })
});
assert.deepEqual(page.inputPlaceholders, ['a value', 'other value']);
// <div><input></div>
// <div class="scope"><input placeholder="a value"></div>
// <div><input></div>
const page = PageObject.create({
inputPlaceholder: PageObject.attribute('placeholder', ':input', { scope: '.scope' })
});
assert.equal(page.inputPlaceholder, 'a value');
// <div><input></div>
// <div class="scope"><input placeholder="a value"></div>
// <div><input></div>
const page = PageObject.create({
scope: 'scope',
inputPlaceholder: PageObject.attribute('placeholder', ':input')
});
assert.equal(page.inputPlaceholder, 'a value');
- Throws any Will throw an error if no element matches selector
- Throws any Will throw an error if multiple elements are matched by selector and multiple option is not set
Returns Descriptor