Static Method Summary
Static Public Methods | ||
public static |
Represents a single option selected in a
HTML |
|
public static |
Represents options selected in a
HTML |
|
public static |
Represents the value of a single option selected in a
HTML |
|
public static |
Represents values of options selected in a
HTML |
Static Public Methods
public static optionIn(target: Question<ElementFinder> | ElementFinder): Question<Promise<string>> source
Represents a single option selected in a
HTML <select>
element
Params:
Name | Type | Attribute | Description |
target | Question<ElementFinder> | ElementFinder | A Target identifying the |
Examples:
<select data-test='countries'>
<option value='UK'>United Kingdom</option>
<option value='PL'>Poland</option>
<option value='US'>United States</option>
</select>
import { Target } from '@serenity-js/protractor';
import { browser, by } from 'protractor';
class Countries {
static dropdown = Target.the('countries dropdown')
.located(by.css('[data-test="countries"]'));
}
import { actorCalled } from '@serenity-js/core';
import { Accept, BrowseTheWeb, Select, Selected } from '@serenity-js/protractor';
import { Ensure, equals } from '@serenity-js/assertions';
import { protractor } from 'protractor';
actorCalled('Nick')
.whoCan(BrowseTheWeb.using(protractor.browser))
.attemptsTo(
Select.option('Poland').from(Countries.dropdown),
Ensure.that(
Selected.optionIn(Countries.dropdown),
equals('Poland')
),
);
Tests:
See:
public static optionsIn(target: Question<ElementFinder> | ElementFinder): Question<Promise<string[]>> source
Represents options selected in a
HTML <select multiple>
element
Params:
Name | Type | Attribute | Description |
target | Question<ElementFinder> | ElementFinder | A Target identifying the |
Examples:
<select multiple data-test='countries'>
<option value='UK'>United Kingdom</option>
<option value='PL'>Poland</option>
<option value='US'>United States</option>
</select>
import { Target } from '@serenity-js/protractor';
import { browser, by } from 'protractor';
class Countries {
static dropdown = Target.the('countries dropdown')
.located(by.css('[data-test="countries"]'));
}
import { actorCalled } from '@serenity-js/core';
import { Accept, BrowseTheWeb, Select, Selected } from '@serenity-js/protractor';
import { Ensure, equals } from '@serenity-js/assertions';
import { protractor } from 'protractor';
actorCalled('Nick')
.whoCan(BrowseTheWeb.using(protractor.browser))
.attemptsTo(
Select.options('Poland', 'United States').from(Countries.dropdown),
Ensure.that(
Selected.optionsIn(Countries.dropdown),
equals([ 'Poland', 'United States' ])
),
);
Tests:
- Select when working with multi-option selects Select.options() should select multiple options by their static pageName
- Select when working with multi-option selects Select.options() should select multiple options by their Answerable name
- Select when working with multi-option selects Select.options() should concatenate option values from several Answerables
- Select when working with multi-option selects Select.options() should concatenate option values from several static values
See:
public static valueOf(target: Question<ElementFinder> | ElementFinder): Question<Promise<string>> source
Represents the value of a single option selected in a
HTML <select>
element.
Params:
Name | Type | Attribute | Description |
target | Question<ElementFinder> | ElementFinder | A Target identifying the |
Examples:
<select data-test='countries'>
<option value='UK'>United Kingdom</option>
<option value='PL'>Poland</option>
<option value='US'>United States</option>
</select>
import { Target } from '@serenity-js/protractor';
import { browser, by } from 'protractor';
class Countries {
static dropdown = Target.the('countries dropdown')
.located(by.css('[data-test="countries"]'));
}
import { actorCalled } from '@serenity-js/core';
import { Accept, BrowseTheWeb, Select, Selected } from '@serenity-js/protractor';
import { Ensure, equals } from '@serenity-js/assertions';
import { protractor } from 'protractor';
actorCalled('Nick')
.whoCan(BrowseTheWeb.using(protractor.browser))
.attemptsTo(
Select.value('UK').from(Countries.dropdown),
Ensure.that(Selected.valueOf(Countries.dropdown), equals('UK')),
);
Tests:
See:
public static valuesOf(target: Question<ElementFinder> | ElementFinder): Question<Promise<string[]>> source
Represents values of options selected in a
HTML <select multiple>
element
Params:
Name | Type | Attribute | Description |
target | Question<ElementFinder> | ElementFinder | A Target identifying the |
Examples:
<select multiple data-test='countries'>
<option value='UK'>United Kingdom</option>
<option value='PL'>Poland</option>
<option value='US'>United States</option>
</select>
import { Target } from '@serenity-js/protractor';
import { browser, by } from 'protractor';
class Countries {
static dropdown = Target.the('countries dropdown')
.located(by.css('[data-test="countries"]'));
}
import { actorCalled } from '@serenity-js/core';
import { Accept, BrowseTheWeb, Select, Selected } from '@serenity-js/protractor';
import { Ensure, equals } from '@serenity-js/assertions';
import { protractor } from 'protractor';
actorCalled('Nick')
.whoCan(BrowseTheWeb.using(protractor.browser))
.attemptsTo(
Select.values('UK').from(Countries.dropdown),
Ensure.that(Selected.valuesOf(Countries.dropdown), equals([ 'UK' ])),
);
Tests:
- Select when working with multi-option selects Select.values() should select multiple options by their static value
- Select when working with multi-option selects Select.values() should select multiple options by their Answerable value
- Select when working with multi-option selects Select.values() should concatenate option values from several Answerables
- Select when working with multi-option selects Select.values() should concatenate option values from several static values