Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ Check [Keep a Changelog](http://keepachangelog.com/) for recommendations on how

## [Unreleased]
- :rocket: added source maps
- :rocket: improved readability of execute steps

## [2.3.0]
- :rocket: added `I expect {value} css property of every element in {playwrightLocator} collection {validation} {value}` step
Expand Down
8 changes: 4 additions & 4 deletions src/execute.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import {Locator} from "@playwright/test";
* @example I execute '$fn' function // fn is function reference
* @example I execute 'window.scrollBy(0, 100)' function
*/
When('I execute {value} function', async function (fn: MemoryValue) {
When('I execute {value} function/script', async function (fn: MemoryValue) {
await this.playwright.page.evaluate(await fn.value());
});

Expand All @@ -19,7 +19,7 @@ When('I execute {value} function', async function (fn: MemoryValue) {
* @example I execute '$fn' function and save result as 'result' // fn is function reference
* @example I execute 'window.scrollY' function and save result as 'scroll'
*/
When('I execute {value} function and save result as {value}', async function (fn: MemoryValue, memoryKey: MemoryValue) {
When('I execute {value} function/script and save result as {value}', async function (fn: MemoryValue, memoryKey: MemoryValue) {
memoryKey.set(await this.playwright.page.evaluate(await fn.value()));
});

Expand All @@ -30,7 +30,7 @@ When('I execute {value} function and save result as {value}', async function (fn
* @example I execute '$fn' function on 'Component > Element' // fn is function reference
* @example I execute 'arguments[0].scrollIntoView()' function on 'Component > Element'
*/
When('I execute {value} function on {playwrightLocator}', async function (fnKey: MemoryValue, locator: Locator) {
When('I execute {value} function/script on {playwrightLocator}', async function (fnKey: MemoryValue, locator: Locator) {
let fn = await fnKey.value();
if (typeof fn === 'string') {
fn = new Function('return ' + fn)
Expand All @@ -46,7 +46,7 @@ When('I execute {value} function on {playwrightLocator}', async function (fnKey:
* @example I execute 'arguments[0].innerText' function on 'Component > Element' and save result as 'innerText'
*/
When(
'I execute {value} function on {playwrightLocator} and save result as {value}',
'I execute {value} function/script on {playwrightLocator} and save result as {value}',
async function (fnKey: MemoryValue, locator: Locator, memoryKey: MemoryValue) {
let fn = await fnKey.value();
if (typeof fn === 'string') {
Expand Down
6 changes: 3 additions & 3 deletions test-e2e/features/execute.feature
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ Feature: execute
Then I expect 'value' property of 'Input' to be equal 'some value'

Scenario: execute function
When I execute '$setInputValue' function
When I execute '$setInputValue' script
Then I expect 'value' property of 'Input' to be equal 'some value'

Scenario: execute function and save result plain text
Expand All @@ -18,7 +18,7 @@ Feature: execute

Scenario: execute function from memory and save result plain text
When I click 'Button'
When I execute '$getActionInnerText' function and save result as 'innerText'
When I execute '$getActionInnerText' script and save result as 'innerText'
Then I expect '$innerText' memory value to be equal 'click'

Scenario: execute function on element plain text
Expand All @@ -30,7 +30,7 @@ Feature: execute
Then I expect text of 'Action' to be equal 'click'

Scenario: execute function on element plain text and save result
When I execute 'arguments[0].innerText' function on 'Button' and save result as 'buttonInnerText'
When I execute 'arguments[0].innerText' script on 'Button' and save result as 'buttonInnerText'
Then I expect '$buttonInnerText' memory value to be equal 'Click Me!'

Scenario: execute function on element and save result
Expand Down