Attribute
Methods
attribute
addon/-private/properties/attribute.js:70-90
Parameters
attributeName
string Name of the attribute to getselector
string CSS selector of the element to checkoptions
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
userOptions
(optional, default{}
)
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');
Returns Descriptor