npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

cucumber-playwright-framework

v0.1.0-beta.53

Published

BDD test automation framework using Cucumber and Playwright for web applications

Downloads

3,460

Readme

Introduction

Quick Start

$ npx create-bdd-test-framework e2e-test

$ cd e2e-test

$ npm run test

$ npm run test:report

Creating an BDD Test Framework

You’ll need to have Node >= 16 on your local development machine. You can use nvm (macOS/Linux) or nvm-windows to switch Node versions between different projects.

To create a new BDD Test Framework using cucumber-playwright-framework library, you may choose one of the following methods:

npx

npx create-bdd-test-framework e2e-test

npm

npm init bdd-test-framework e2e-test

Yarn

yarn create bdd-test-framework e2e-test

Executing the automated test scenarios

cd e2e-test

npm run test

Generate HTML report

npm run test:report

Step definitions

Given steps

| Step | Summary | | ------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Given the <actorName> is on the "<pageName>" page of the "<appName>" app | Opens the application landing page in a new browser based on the app config defined in test.config.jsonDetailsExamples:Given the Host is on the "create-event" page of the "events" appMethod:stepOpenLandingPageOfAppUsingConfig(scenarioWorld: ScenarioWorld, actorName: string, pageName: string, appName: string): Promise<void> | | Given the <actorName> (open|opens) the "<pageName>" page of the "<appName>" app with the "<appURL>" URL | Opens the application landing page in a new browser based on the URLDetailsExamples:Given the host opens the "create-event" page of the "events" app with the "http://localhost:3000/Meeting" URLMethod:stepOpenLandingPageOfAppUsingURL(scenarioWorld: ScenarioWorld, actorName: string, pageName: string, appName: string, url: string): Promise<void> | | Given the <actorName> (open|opens) the "<appName>" app using the auth state of "<userName>" user | Opens the application landing page in a new browser based on the app config defined in test.config.json with auth state injectedDetailsExamples:Given the host opens the "events" app using the auth state of "admin" userMethod:stepOpenAppUsingConfigWithAuthState(scenarioWorld: ScenarioWorld, actorName: string, appName: string, user: string): Promise<void> | | Given the <actorName> (open|opens) the "<appName>" app with the "<appURL>" URL using the auth state of "<userName>" user | Opens the application landing page in a new browser based on the URL with auth state injectedDetailsExamples:Given the host opens the "events" app with the "http://localhost:3000/login" URL using the auth state of "admin" userMethod:stepOpenAppUsingURLWithAuthState(scenarioWorld: ScenarioWorld, actorName: string, appName: string, user: string, url: string): Promise<void> | | Given the <actorName> (open|opens) the "<pageName>" page of the "<appName>" app with the "<appURL>" URL from "<locationName>" location | Opens the application landing page in a new browser based on the URL in the specified geo-location. For different geo-location refer https://www.browserstack.com/docs/ip-geolocationDetailsExamples:Given the host opens the "create-event" page of the "events" app with the "http://sampleapps:3000/Meeting" URL from "IN" locationMethod:stepOpenLandingPageOfAppUsingURLFromLocation(scenarioWorld: ScenarioWorld, actorName: string, pageName: string, appName: string, url: string, location: string): Promise<void> |

When steps

| Step | Summary | | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | When (the <actorName>|I) (check|checks|select|selects) the "<elementSelectorName>" | Check a checkbox or radio buttonDetailsExamples:When the host checks the "simulcast option"When I select the "debugging option"Method:stepCheckTheCheckbox(scenarioWorld: ScenarioWorld, selectorName: string): Promise<void> | | When (the <actorName>|I) (uncheck|unchecks|unselect|unselects) the "<elementSelectorName>" | Uncheck a checkbox or radio buttonDetailsExamples:When the host unchecks the "simulcast option"When I unselect the "debugging option"Method:stepUncheckTheCheckbox(scenarioWorld: ScenarioWorld, selectorName: string): Promise<void> | | When (the <actorName>|I) (check|checks|select|selects) the "<elementSelectorName>" with the placeholder "<placeHolderName:placeHolderValue>" | Check a checkbox or radio button by replacing the placeholder name with a value in the element selectorDetailsExamples:When the host checks the "role option" with the placeholder "ROLENAME:Auditor"When I select the "logging option" with the placeholder "LOGGER:debug"Method:stepCheckTheCheckbox(scenarioWorld: ScenarioWorld, selectorName: string, options: {placeholderPair: string}): Promise<void> | | When (the <actorName>|I) (uncheck|unchecks|unselect|unselects) the "<elementSelectorName>" with placeholder "<placeHolderName:placeHolderValue>" | Uncheck a checkbox or radio button by replacing the placeholder name with a value in the element selectorDetailsExamples:When the user unchecks the "role option" with the placeholder "ROLENAME:Auditor"When I unselect the "logging option" with the placeholder "LOGGER:debug"Method:stepUncheckTheCheckbox(scenarioWorld: ScenarioWorld, selectorName: string, options: {placeholderPair: string}): Promise<void> | | When (the <actorName>|I) (clicks|click) on the "<elementSelectorName>" | Click on an elementDetailsExamples:When the host clicks on the "next button"When I click on the "continue button"Method:stepClickOnTheElement(scenarioWorld: ScenarioWorld, selectorName: string): Promise<void> | | When (the <actorName>|I) (clicks|click) on the "<elementSelectorName>" with the placeholder "<placeHolderName:placeHolderValue>" | Click on an element by replacing the placeholder name with a value in the element selectorDetailsExamples:When the host clicks on the "video view" with the placeholder "USERNAME:John"When I click on the "video tab" with the placeholder "VIDEONAME:ScreenShare" Method:stepClickOnTheElement(scenarioWorld: ScenarioWorld, selectorName: string, options: {placeholderPair: string}): Promise<void> | | When (the <actorName>|I) (clicks|click) on the location at "<elementSelectorName>" | Click on an element using locationsDetailsExamples:When the host clicks on the location at "next button"When I click on the location at "continue button"Method:stepClickOnTheElementLocation(scenarioWorld: ScenarioWorld, selectorName: string): Promise<void> | | When (the <actorName>|I) (store|stores) the clipboard text as a "<variableName>" variable | Store the clipboard text in the local storeDetailsExamples:When the user stores the clipboard text as a "VIEWER_URL" variableWhen I store the clipboard text as a "CO_HOST_URL" variableMethod:stepStoreClipboardText(scenarioWorld: ScenarioWorld, dataStoreType: string, variableName: string): Promise<void> | | When (the <actorName>/I) (store|stores) the clipboard text as a "<variableName>" variable in (local|global) data store | Store the clipboard text in the local or global data storeDetailsExamples:When the user stores the clipboard text a "VIEWER_URL" variable in the local data storeWhen I store the clipboard text as a "CO_HOST_URL" variable in the global data storeMethod:stepStoreClipboardText(scenarioWorld: ScenarioWorld, dataStoreType: string, variableName: string): Promise<void> | | When (the <actorName> |I )?(store|stores) the "<USER_DATA>" data as a "<variableName>" variable in the (local|global) data store | Store the given data in the local or global data storeDetailsExamples:When the host stores the "All-Hands" data as a "MEETING_NAME" variable in the local data storeWhen store the "All-Hands" data as a "MEETING_NAME" variable in the local data storeMethod:storeData(scenarioWorld: ScenarioWorld, dataStoreType: string, variableName: string, variableValue: unknown): void | | When (the <actorName> |I )?(store|stores) the "<USER_DATA>" data as a "<variableName>" in the (environment) variable | Store the given data in the environment variableDetailsExamples:When the host stores the "All-Hands" data as a "MEETING_NAME" in the environment variableWhen store the "All-Hands" data as a "MEETING_NAME" in the environment variableMethod:storeData(scenarioWorld: ScenarioWorld, dataStoreType: string, variableName: string, variableValue: unknown): void | | When (the <actorName>|I) (hover|hovers) the mouse over the "<elementSelectorName>" | Hover the mouse over the elementDetailsExamples:When the publisher hovers the mouse over the "footer"When I hover the mouse over the "next button"Method:stepHoverOverTheElement(scenarioWorld: ScenarioWorld, selectorName: string): Promise<void> | | When (the <actorName>|I) (hover|hovers) the mouse over the "<elementSelectorName>" with the placeholder "<placeHolderName:placeHolderValue>" | Hover the mouse over the element by replacing the placeholder name with a value in the element selectorDetailsExamples:When the host hovers the mouse over the "chat delete icon" with the placeholder "MESSAGE:Hello All"When I hover the mouse over the "chat delete icon" with the placeholder "MESSAGE:Hi All"Method:stepHoverOverTheElement(scenarioWorld: ScenarioWorld, selectorName: string, options: {placeholderPair: string}): Promise<void> | | When (the <actorName>|I) (enters|enter) the "<textToEnter>" text in the "<elementSelectorName>" | Enter the text in an input fieldDetailsExamples:When the host enters the "John Bond" text in the "username input field"When I enter the "Meeting" text in the "meetingname input field"Method:stepEnterTextInInputField(scenarioWorld: ScenarioWorld, selectorName: string, inputText: string): Promise<void> | | When (the <actorName>|I) (clears|clear) the text from the "<elementSelectorName>" | Clears the text from an input fieldDetailsExamples:When the host clears the text from the "username input field"When I clear the text from the "meetingname input field"Method:stepClearTextFromInputField(scenarioWorld: ScenarioWorld, selectorName: string): Promise<void> | | When (the <actorName>|I) (presses|press) the "<key>" key in the "<elementSelectorName>" | Focuses the element and presses a combination of the keys.DetailsExamples:When the host presses the "Enter" key in the "username input field"When I press the "Enter" key in the "chat input"Method:stepPressKey(scenarioWorld: ScenarioWorld, selectorName: string, key: string): Promise<void> | | When (the <actorName>|I) (enters|enter) the "<textToEnter>" text in the "<elementSelectorName>" with the placeholder "<placeHolderName:placeHolderValue>" | Enter the text in an input field by replacing the placeholder name with a valueDetailsExamples:When the host enters the "John Bond" text in the "username input field" with the placeholder "SECTION:admin"When I enter the "Meeting" text in the "meetingname input field with the placeholder "DAY:Monday"Method:stepEnterTextInInputField(scenarioWorld: ScenarioWorld, selectorName: string, inputText: string, options: {placeholderPair: string}): Promise<void> | | When (the <actorName>|I) (clears|clear) the text from the "<elementSelectorName>" with the placeholder "<placeHolderName:placeHolderValue>" | Clears the text from an input field by replacing the placeholder name with a valueDetailsExamples:When the host clears the text from the "username input field" with the placeholder "SECTION:admin"When I clear the text from the "meetingname input field" with the placeholder "DAY:Monday"Method:stepClearTextFromInputField(scenarioWorld: ScenarioWorld, selectorName: string, options: {placeholderPair: string}): Promise<void> | | When (the <actorName>|I) (presses|press) the "<key>" key in the "<elementSelectorName>" with the placeholder "<placeHolderName:placeHolderValue>" | Focuses the element and presses a combination of the keys by replacing the placeholder name with a value.DetailsExamples:When the host presses the "Enter" key in the "username input field" with the placeholder "SECTION:admin"When I press the "Enter" key in the "chat input" with the placeholder "INDEX:2"Method:stepPressKey(scenarioWorld: ScenarioWorld, selectorName: string, key: string, options: {placeholderPair: string}): Promise<void> | | When (the <actorName>|I) (add|adds) the below JavaScript to the page """ <Java Script Code> """ | Adds a JavaScript into the pageDetailsExamples:When the host adds the below JavaScript to the page """const getStats = async () => {const source = mView.getRTCPeerConnection()const reports = await source.getStats(null)return reports}"""Method:stepAddJavaScriptToPage(scenarioWorld: ScenarioWorld, javaScript: string): Promise<ElementHandle> | | When (the <actorName>|I) (add|adds) the "<JavaScriptFile>" JavaScript file to the page | Adds a JavaScript file into the pageDetailsExamples:When the host adds the "resources/js/viewer.js" JavaScript file to the pageMethod:stepAddJavaScriptFileToPage(scenarioWorld: ScenarioWorld, javaScriptFile: string): Promise<ElementHandle> | | When (the <actorName>|I) (execute|executes|run|runs) the "<JavaScript>" JavaScript (function|command) on the page | Executes a JavaScript function|command on the pageDetailsExamples:When the host executes the "getVideoPixelSums()" JavaScript function on the pageWhen the host runs the "window.publish.isActive()" JavaScript function on the pageMethod:stepExecuteJavaScriptOnPage(scenarioWorld: ScenarioWorld, javaScript: string): Promise<unknown> | | When (the <actorName>|I) press "<KEY>" key | Press keyboard keys on the pageDetailsExamples:When the host press the "Escape" keyWhen I press the "Shift+A" keyMethod:stepPressKeyboardKeysOnThePage(scenarioWorld: ScenarioWorld, key: string): Promise<void> | | When (the <actorName>|I) (refresh|refreshes) the page | Refresh the pageDetailsExamples:When the host refreshes the pageWhen I refresh the pageMethod:stepRefreshThePage(scenarioWorld: ScenarioWorld): Promise<void> | | When (the <actorName>|I) switch to the "<appName>" app | Switch to another page when multiple pages are openedDetailsExamples:When the host switch to the "events" appWhen I switch to the "events" appMethod:stepSwitchToPage(scenarioWorld: ScenarioWorld, appName: string): Promise<void> | | When (the <actorName>|I)? (store|stores) the page url as a "<VARIABLENAME>" variable in the (local|global) data store | Stores the page url in the local or global data store with the given variable nameDetailsExamples:When the host stores the page url as a "BASE_APP_URL" variable in the local data storeWhen store the page url as a "BASE_APP_URL" variable in the local data storeMethod:stepStorePageURL(scenarioWorld: ScenarioWorld, dataStoreType: string, variableName: string): Promise<void> | | When (the <actorName>|I)? (store|stores) the page url as a "<VARIABLENAME>" in the (environment) variable | Stores the page url in the environment with the given variable nameDetailsExamples:When the host stores the page url as a "BASE_APP_URL" in the environment variableWhen store the page url as a "BASE_APP_URL" in the environment variableMethod:stepStorePageURL(scenarioWorld: ScenarioWorld, dataStoreType: string, variableName: string): Promise<void> | | When (the <actorName>|I) (switch|switches) to the "<tabName>" (tab|page) | Switch to another tab using the name when opened from default pageDetailsExamples:When the host switches to the "Broadcast" tabWhen I switch to the "Live Viewer" tabMethod:stepSwitchToTabUsingName(scenarioWorld: ScenarioWorld, tabName: string): Promise<void> | | When (the <actorName>|I) (switch|switches) to the "<tabIndex>" (st|nd|rd|th) (tab|page) | Switch to another tab using the index when opened from default pageDetailsExamples:When the host switches to the "2" nd tabWhen I switch to the "3" rd tabMethod:stepSwitchToTabUsingIndex(scenarioWorld: ScenarioWorld, tabIndex: number): Promise<void> | | When (the <actorName>|I) (store|stores|save|saves) the auth state of "<userName>" user | Stores the authenication state of the logged in applicaton and can be used to skip loginDetailsExamples:When the host stores the auth state of "admin" userWhen I save the auth state of "approval" userMethod:stepStoreAuthState(scenarioWorld: ScenarioWorld, user: string): Promise<void> | | When (the <actorName>|I) (get|gets) the ip address of the client machine | Get the IP address of the client machine where the page is openedDetailsExamples:When the host gets the ip address of the client machineWhen I get the ip address of the client machineMethod:stepGetClientIPAddress(scenarioWorld: ScenarioWorld): Promise<string> | | When (the <actorName>|I) (scroll|scrolls) to the (top|bottom) of page | Scroll to the top or bottom of the pageDetailsExamples:When the host scrolls to the top of pageWhen I scroll to the bottom of pageMethod:stepScrollToTopOrBottomOfPage(scenarioWorld: ScenarioWorld, move: string): Promise<void> | | When (the <actorName>|I) (store|stores) the "<elementSelectorName>" text as a "<variableName>" variable in the (local|global) data store | Read the element text and store in the local or global data storeDetailsExamples:When the host stores the "viewer link" text as a "VIEWER_URL" variable in the local data storeWhen I store the "timer" text as a "TIMER_VALUE" variable in the global data storeMethod:stepStoreElementText(scenarioWorld: ScenarioWorld, selectorName: string, dataStoreType: string, variableName: string): Promise<void> | | When (the <actorName>|I) (store|stores) the "<elementSelectorName>" value as a "<variableName>" variable in the (local|global) data store | Read the element value and store in the local or global data storeDetailsExamples:When the host store the "meetingname input field" value as a "MEETING_NAME" variable in the local data storeWhen I store the "username input field" value as a "USER_NAME" variable in the global data storeMethod:stepStoreElementValue(scenarioWorld: ScenarioWorld, selectorName: string, dataStoreType: string, variableName: string): Promise<void> | | When (the <actorName>|I) (store|stores) the "<elementSelectorName>" text as a "<variableName>" in the environment variable | Read the element text and store in the environment variableDetailsExamples:When the host store the "viewer link" text as a "VIEWER_URL" in the environment variableWhen I store the "timer" text as a "TIMER_VALUE" in the environment variableMethod:stepStoreElementText(scenarioWorld: ScenarioWorld, selectorName: string, dataStoreType: string, variableName: string): Promise<void> | | When (the <actorName>/I) (store|stores) the "<elementSelectorName>" value as a "<variableName>" in the environment variable | Read the element value and store in the environment variableDetailsExamples:When the host store the "meetingname input field" value as a "MEETING_NAME" in the environment variableWhen I store the "username input field" value as a "USER_NAME" in the environment variableMethod:stepStoreElementValue(scenarioWorld: ScenarioWorld, selectorName: string, dataStoreType: string, variableName: string): Promise<void> | | When (the <actorName>|I) (get|gets|read|reads) the "<elementSelectorName>" text | Read the element text and return element textDetailsExamples:When the host reads the "viewer link" textMethod:stepGetElementText(scenarioWorld: ScenarioWorld, selectorName: string): Promise<string | null> | | When (the <actorName>|I) (get|gets|read|reads) the "<elementSelectorName>" value | Read the element value and return element valueDetailsExamples:When the host reads the "username input" valueMethod:stepGetElementValue(scenarioWorld: ScenarioWorld, selectorName: string): Promise<string | null> | | When (the <actorName>|I) (get|gets|read|reads) the "<elementSelectorName>" count | Get the element count and return element countDetailsExamples:When the host gets the "blogs link" countMethod:stepGetElementCount(scenarioWorld: ScenarioWorld, selectorName: string): Promise<number> | | is "<elementSelectorName>" <expectedElementState> | Get the element state and return element stateDetailsExamples:is "blog link" displayedMethod:stepGetElementState(scenarioWorld: ScenarioWorld, selectorName: string, state: string): Promise<boolean> | | When (the <actorName>|I) (get|gets|read|reads) the "<elementSelectorName>" table data | Get the table dataDetailsExamples:When the host gets the "ingest stats" table dataMethod:stepGetElementTableData(scenarioWorld: ScenarioWorld, selectorName: string): Promise<string[][]> | | When (the <actorName>|I) (get|gets|read|reads) the "<attributeName>" attribute value of "<elementSelectorName>" | Read the element attribute value and return attribute valueDetailsExamples:When the host reads thereads the "aria-checked" attribute value of "audio input"Method:stepGetElementAttribute(scenarioWorld: ScenarioWorld, selectorName: string, attributeName: string): Promise<string | null> | | When (the <actorName>|I) (get|gets|read|reads) the page URL | Read the page URL and return URLDetailsExamples:When the host reads the page URLMethod:stepGetPageURL(scenarioWorld: ScenarioWorld): Promise<string> | | When (the <actorName>|I) (get|gets|read|reads) the page title | Read the page title and return titleDetailsExamples:When the host reads the page titleMethod:stepGetPageTitle(scenarioWorld: ScenarioWorld): Promise<string> | | When (the <actorName>|I) (get|gets|read|reads) the selected option from "<elementSelectorName>" | Read the selected option from dropdown and returns a first selected itemDetailsExamples:When the host reads the selected option from "country dropdown"Method:stepGetSelectedOptionFromDropdown(scenarioWorld: ScenarioWorld, selectorName: string): Promise<string> | | When (the <actorName>|I) (get|gets|read|reads) the selected options from "<elementSelectorName>" | Read the selected options from dropdown and returns a list of selected optionsDetailsExamples:When the host reads the selected options from "country dropdown"Method:stepGetSelectedOptionsFromDropdown(scenarioWorld: ScenarioWorld, selectorName: string): Promise<string[]> | | When (the <actorName>|I) (get|gets|read|reads) the "<elementSelectorName>" inner HTML | Read the element inner HTML and return element inner HTMLDetailsExamples:When the host reads the "viewer text" inner HTMLMethod:stepGetElementInnerHTML(scenarioWorld: ScenarioWorld, selectorName: string): Promise<string | null> | | When (the <actorName>|I) (take|takes) the screenshot of the "<elementSelectorName>" and save it with the name "<fileName>" | Take a screenshot of the element and store itDetailsExamples:When the host takes the screenshot of the "video tile" and save it with the name "host_video_tile"Method:stepTakeScreenOfElement(scenarioWorld: ScenarioWorld, selectorName: string, imgName: string): Promise<void> | | When (the <actorName>|I) (take|takes) the screenshot of the "<elementSelectorName>" with the mask "<elementSelectorName>" and save it with the name "<fileName>" | Take the screenshot of the element by masking some elements by pink box and store itDetailsExamples:When the host takes the screenshot of the "video tile" with the mask "speaking indicator icon" and save it with the name "host_video_tile"Method:stepTakeScreenOfElement(scenarioWorld: ScenarioWorld, selectorName: string, imgName: string, {maskSelectorNames: string}): Promise<void> | | When (the <actorName>|I) (take|takes) the screenshot of the "<elementSelectorName>" with the placeholder "<placeHolderName:placeHolderValue>" and save it with the name "<fileName>" | Take a screenshot of the element and store it by replacing the placeholder name with a valueDetailsExamples:When the host takes the screenshot of the "video tile" with the placeholder "INDEX:1" and save it with the name "host_video_tile"Method:stepTakeScreenOfElement(scenarioWorld: ScenarioWorld, selectorName: string, imgName: string, options: {placeholderPair: string}): Promise<void> | | When (the <actorName>|I) (take|takes) the screenshot of the "<elementSelectorName>" with the mask "<elementSelectorName>" and placeholder "<placeHolderName:placeHolderValue>" and save it with the name "<fileName>" | Take the screenshot of the element by masking some elements by pink box and store it by replacing the placeholder name with a valueDetailsExamples:When the host takes the screenshot of the "video tile" with the mask "speaking indicator icon" and placeholder "INDEX:1" and save it with the name "host_video_tile"Method:stepTakeScreenOfElement(scenarioWorld: ScenarioWorld, selectorName: string, imgName: string, {maskSelectorNames: string, placeholderPair: string}): Promise<void> | | When (the <actorName>|I) (select|selects) the option with the (value|label) "<option>" from the "<elementSelectorName>" | Select the option from the select dropdown using value or labelDetailsExamples:When the host selects the option with the label "Australia" from the "country dropdown"When I select the option with the value "NSW" from the "state dropdown"Method:stepSelectOption(scenarioWorld: ScenarioWorld, selectorName: string, optionToSelect: string, optionType: string): Promise<void> | | When (the <actorName>|I) (select|selects) the "<index>" (?:st|nd|rd|th) option from the "<elementSelectorName>" | Select the option from the select dropdown based on indexDetailsExamples:When the host selects the "2" nd option from the "country dropdown"When I select the "1" st option from the "state dropdown"Method:stepSelectOptionUsingIndex(scenarioWorld: ScenarioWorld, selectorName: string, index: number): Promise<void> | | When (the <actorName>|I) (select|selects) the option with the (value|label) "<option>" from the "<elementSelectorName>" with the placeholder "<placeHolderName:placeHolderValue>" | Select the option from the select dropdown using value or label by replacing the placeholder name value pair in the locatorDetailsExamples:When the host selects the option with the label "Australia" from the "country dropdown" with the placeholder "SECTION:OriginCountry"When I select the option with the value "NSW" from the "state dropdown" with the placeholder "SECTION:OriginCountry"Method:stepSelectOption(scenarioWorld: ScenarioWorld, selectorName: string, optionToSelect: string, optionType: string, options: {placeholderPair: string}): Promise<void> | | When (the <actorName>|I) (select|selects) the "<index>" (?:st|nd|rd|th) option from the "<elementSelectorName>" with the placeholder "<placeHolderName:placeHolderValue>" | Select the option from the select dropdown based on index by replacing the placeholder name value pair in the locatorDetailsExamples:When the host selects the "2" nd option from the "country dropdown" with the placeholder "SECTION:OriginCountry"When I select the "1" st option from the "state dropdown" with the placeholder "SECTION:OriginCountry"Method:stepSelectOptionUsingIndex(scenarioWorld: ScenarioWorld, selectorName: string, index: number, options: {placeholderPair: string}): Promise<void> | | When (the <actorName>|I) (wait|waits) for "<secondsToWait>" seconds | Wait for given secondsDetailsExamples:When the host waits for "10" secondsMethod:stepWaitForSeconds(seconds: number): Promise<void> | | When (the <actorName>|I) (wait|waits) for "<minutesToWait>" minutes | Wait for the given minutesDetailsExamples:When the host waits for "2" minutesMethod:stepWaitForSeconds(seconds: number): Promise<void> | | When (the <actorName>|I) (wait|waits) for "<elementSelectorName\