Fillable
Methods
Table of Contents
selectable
Alias for fillable
, which works for inputs, HTML select menus, and
contenteditable elements.
See fillable
for usage examples.
Parameters
Returns Descriptor
fillable
Fills in an input matched by a selector.
Parameters
selector
string CSS selector of the element to look for textuserOptions
(optional, default{}
)options
Object Additional options
Examples
// <input value="">
const page = PageObject.create({
fillIn: PageObject.fillable('input')
});
// result: <input value="John Doe">
page.fillIn('John Doe');
// <div class="name">
// <input value="">
// </div>
// <div class="last-name">
// <input value= "">
// </div>
const page = PageObject.create({
fillInName: PageObject.fillable('input', { scope: '.name' })
});
page.fillInName('John Doe');
// result
// <div class="name">
// <input value="John Doe">
// </div>
// <div class="name">
// <input value="">
// </div>
// <div class="last-name">
// <input value= "">
// </div>
const page = PageObject.create({
scope: 'name',
fillInName: PageObject.fillable('input')
});
page.fillInName('John Doe');
// result
// <div class="name">
// <input value="John Doe">
// </div>
Filling different inputs with the same property
// <input id="name">
// <input name="lastname">
// <input data-test="email">
// <textarea aria-label="address"></textarea>
// <input placeholder="phone">
// <div contenteditable="true" id="bio"></div>
const page = create({
fillIn: fillable('input, textarea, [contenteditable]')
});
page
.fillIn('name', 'Doe')
.fillIn('lastname', 'Doe')
.fillIn('email', 'john@doe')
.fillIn('address', 'A street')
.fillIn('phone', '555-000')
.fillIn('bio', 'The story of <b>John Doe</b>');
Returns Descriptor