cucumber-playwright-framework
TypeScript icon, indicating that this package has built-in type declarations

0.1.0-beta.42 • Public • Published

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.json

Details
Examples:
Given the Host is on the "create-event" page of the "events" app

Method:
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 URL

Details
Examples:
Given the host opens the "create-event" page of the "events" app with the "http://localhost:3000/Meeting" URL

Method:
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 injected

Details
Examples:
Given the host opens the "events" app using the auth state of "admin" user

Method:
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 injected

Details
Examples:
Given the host opens the "events" app with the "http://localhost:3000/login" URL using the auth state of "admin" user

Method:
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-geolocation

Details
Examples:
Given the host opens the "create-event" page of the "events" app with the "http://sampleapps:3000/Meeting" URL from "IN" location

Method:
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 button

Details
Examples:
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 button

Details
Examples:
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 selector

Details
Examples:
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 selector

Details
Examples:
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 element

Details
Examples:
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 selector

Details
Examples:
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 locations

Details
Examples:
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 store

Details
Examples:
When the user stores the clipboard text as a "VIEWER_URL" variable

When I store the clipboard text as a "CO_HOST_URL" variable

Method:
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 store

Details
Examples:
When the user stores the clipboard text a "VIEWER_URL" variable in the local data store

When I store the clipboard text as a "CO_HOST_URL" variable in the global data store

Method:
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 store

Details
Examples:
When the host stores the "All-Hands" data as a "MEETING_NAME" variable in the local data store

When store the "All-Hands" data as a "MEETING_NAME" variable in the local data store

Method:
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 variable

Details
Examples:
When the host stores the "All-Hands" data as a "MEETING_NAME" in the environment variable

When store the "All-Hands" data as a "MEETING_NAME" in the environment variable

Method:
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 element

Details
Examples:
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 selector

Details
Examples:
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 field

Details
Examples:
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 field

Details
Examples:
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.

Details
Examples:
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 value

Details
Examples:
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 value

Details
Examples:
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.

Details
Examples:
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 page<br/><br/><details><summary>Details</summary><br/><b>Examples:</b><br/>When the host adds the below JavaScript to the page
  """
  const getVideoPixelSums = () =\> {
    const canvas = document.createElement('canvas')
    const id = document.getElementById('player')
    const ctx = canvas.getContext('2d')
    ctx.drawImage(id, 0, 0, id.videoHeight - 1, id.videoWidth - 1)
    const imageData = ctx.getImageData(0, 0, id.videoHeight - 1, id.videoWidth - 1).data
    const sum = imageData.reduce((total, current) =\> total + current)
    if (sum === 255 * (Math.pow(id.videoHeight - 1, (id.videoWidth - 1) * (id.videoWidth - 1)))) {
       return 0
    }
    return sum
   }
  """<br/><br/><b>Method:</b><br/>stepAddJavaScriptToPage(scenarioWorld: ScenarioWorld, javaScript: string): Promise\<ElementHandle\></details>

When (the <actorName>|I) (add|adds) the "<JavaScriptFile>" JavaScript file to the page | Adds a JavaScript file into the page

Details
Examples:
When the host adds the "resources/js/viewer.js" JavaScript file to the page

Method:
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 page

Details
Examples:
When the host executes the "getVideoPixelSums()" JavaScript function on the page

When the host runs the "window.publish.isActive()" JavaScript function on the page

Method:
stepExecuteJavaScriptOnPage(scenarioWorld: ScenarioWorld, javaScript: string): Promise<unknown>
When (the <actorName>|I) press "<KEY>" key | Press keyboard keys on the page

Details
Examples:
When the host press the "Escape" key

When I press the "Shift+A" key

Method:
stepPressKeyboardKeysOnThePage(scenarioWorld: ScenarioWorld, key: string): Promise<void>
When (the <actorName>|I) (refresh|refreshes) the page | Refresh the page

Details
Examples:
When the host refreshes the page

When I refresh the page

Method:
stepRefreshThePage(scenarioWorld: ScenarioWorld): Promise<void>
When (the <actorName>|I) switch to the "<appName>" app | Switch to another page when multiple pages are opened

Details
Examples:
When the host switch to the "events" app

When I switch to the "events" app

Method:
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 name

Details
Examples:
When the host stores the page url as a "BASE_APP_URL" variable in the local data store

When store the page url as a "BASE_APP_URL" variable in the local data store

Method:
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 name

Details
Examples:
When the host stores the page url as a "BASE_APP_URL" in the environment variable

When store the page url as a "BASE_APP_URL" in the environment variable

Method:
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 page

Details
Examples:
When the host switches to the "Broadcast" tab

When I switch to the "Live Viewer" tab

Method:
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 page

Details
Examples:
When the host switches to the "2" nd tab

When I switch to the "3" rd tab

Method:
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 login

Details
Examples:
When the host stores the auth state of "admin" user

When I save the auth state of "approval" user

Method:
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 opened

Details
Examples:
When the host gets the ip address of the client machine

When I get the ip address of the client machine

Method:
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 page

Details
Examples:
When the host scrolls to the top of page

When I scroll to the bottom of page

Method:
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 store

Details
Examples:
When the host stores the "viewer link" text as a "VIEWER_URL" variable in the local data store

When I store the "timer" text as a "TIMER_VALUE" variable in the global data store

Method:
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 store

Details
Examples:
When the host store the "meetingname input field" value as a "MEETING_NAME" variable in the local data store

When I store the "username input field" value as a "USER_NAME" variable in the global data store

Method:
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 variable

Details
Examples:
When the host store the "viewer link" text as a "VIEWER_URL" in the environment variable

When I store the "timer" text as a "TIMER_VALUE" in the environment variable

Method:
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 variable

Details
Examples:
When the host store the "meetingname input field" value as a "MEETING_NAME" in the environment variable

When I store the "username input field" value as a "USER_NAME" in the environment variable

Method:
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 text

Details
Examples:
When the host reads the "viewer link" text

Method:
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 value

Details
Examples:
When the host reads the "username input" value

Method:
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 count

Details
Examples:
When the host gets the "blogs link" count

Method:
stepGetElementCount(scenarioWorld: ScenarioWorld, selectorName: string): Promise<number>
is "<elementSelectorName>" <expectedElementState> | Get the element state and return element state

Details
Examples:
is "blog link" displayed

Method:
stepGetElementState(scenarioWorld: ScenarioWorld, selectorName: string, state: string): Promise<boolean>
When (the <actorName>|I) (get|gets|read|reads) the "<elementSelectorName>" table data | Get the table data

Details
Examples:
When the host gets the "ingest stats" table data

Method:
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 value

Details
Examples:
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 URL

Details
Examples:
When the host reads the page URL

Method:
stepGetPageURL(scenarioWorld: ScenarioWorld): Promise<string>
When (the <actorName>|I) (get|gets|read|reads) the page title | Read the page title and return title

Details
Examples:
When the host reads the page title

Method:
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 item

Details
Examples:
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 options

Details
Examples:
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 HTML

Details
Examples:
When the host reads the "viewer text" inner HTML

Method:
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 it

Details
Examples:
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 it

Details
Examples:
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 value

Details
Examples:
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 value

Details
Examples:
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 label

Details
Examples:
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 index

Details
Examples:
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 locator

Details
Examples:
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 locator

Details
Examples:
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 seconds

Details
Examples:
When the host waits for "10" seconds

Method:
stepWaitForSeconds(seconds: number): Promise<void>
When (the <actorName>|I) (wait|waits) for "<minutesToWait>" minutes | Wait for the given minutes

Details
Examples:
When the host waits for "2" minutes

Method:
stepWaitForSeconds(seconds: number): Promise<void>
When (the <actorName>|I) (wait|waits) for "<elementSelectorName>" to be <expectedElementState> | Wait for element to be displayed | visible | invisible | hidden | enabled | disabled | editable | checked | selected with default timeout of 20 sec, this step will return true if element state is satisfied otherrwise false

Details
Examples:
When the host waits for "icon" to be visible

When the host waits for "icon" to be hidden

Method:
stepWaitForElement(scenarioWorld: ScenarioWorld, selectorName: string, state: string): Promise<boolean>
When (the <actorName>|I) (wait|waits) for "<<elementSelectorName>>" to be <expectedElementState> in "<timeout>" seconds | Wait for element to be displayed | visible | invisible | hidden | enabled | disabled | editable | checked | selected in the given timeout seconds, this step will return true if element state is satisfied otherrwise false

Details
Examples:
When the host waits for "icon" to be visible in "10" seconds

When the host waits for "icon" to be hidden in "5" seconds

Method:
stepWaitForElement(scenarioWorld: ScenarioWorld, selectorName: string, state: string, timeoutSec: number): Promise<boolean>
When (the <actorName>|I) (wait|waits) for the "(networkidle|domcontentloaded|load)" load state | Wait for page until the specified load state is fired

Details
Examples:
When the host waits for "networkidle" load state

When the host waits for "domcontentloaded" load state

Method:
stepWaitForLoadState(scenarioWorld: ScenarioWorld, loadState: string): Promise<boolean>
When (the <actorName>|I) (wait|waits) for "<elementSelectorName>" text to be <expectedElementText> | Wait for element text to be expected text with default timeout of 20 sec, this step will return true if element text is matched otherrwise false

Details
Examples:
When the host waits for "state" text to be "Active"

Method:
stepWaitForElementText(scenarioWorld: ScenarioWorld, selectorName: string, expectedText: string): Promise<boolean>
When (the <actorName>|I) (wait|waits) for "<elementSelectorName>" text to be <expectedElementText> in "<timeout>" seconds | Wait for element text to be expected text in the given timeout seconds, this step will return true if element text is matched otherrwise false

Details
Examples:
When the host waits for "state" text to be "Active" in "10" seconds

Method:
stepWaitForElementText(scenarioWorld: ScenarioWorld, selectorName: string, expectedText: string, timeoutSec: number): Promise<boolean>
When (the <actorName>|I) (wait|waits) for "<elementSelectorName>" value to be <expectedElementValue> | Wait for element value to be expected value with default timeout of 20 sec, this step will return true if element value is matched otherrwise false

Details
Examples:
When the host waits for "status" value to be "Active"

Method:
stepWaitForElementValue(scenarioWorld: ScenarioWorld, selectorName: string, expectedValue: string): Promise<boolean>
When (the <actorName>|I) (wait|waits) for "<elementSelectorName>" value to be <expectedElementValue> in "<timeout>" seconds | Wait for element value to be expected value in the given timeout seconds, this step will return true if element value is matched otherrwise false

Details
Examples:
When the host waits for "status" value to be "Active" in "10" seconds

Method:
stepWaitForElementValue(scenarioWorld: ScenarioWorld, selectorName: string, expectedValue: string, timeoutSec: number): Promise<boolean>

Then steps

Step Summary
Then the clipboard text should( not)? be equal to "<expectedText>" Verify the clipboard text

Details
Examples:
Then the clipboard text should be equal to "http://localhost:3000/meet/"

Method:
stepVerifyClipboardText(scenarioWorld: ScenarioWorld, expectedText: string, options: {not: boolean}): Promise<boolean>
Then the clipboard text should( not)? be equal to the stored "<variabeName>" variable from the (local|global) data store Verify the clipboard text to the stored variable value from the (local|global) data store

Details
Examples:
Then the clipboard text should be equal to the stored "HOST_LINK" variable from the local data store

Method:
stepVerifyClipboardTextFromDataStore(scenarioWorld: ScenarioWorld, dataStoreType: string, variableName: string, options: {not: boolean}): Promise<boolean>
Then the number of "<elementSelectorName>" count should( not)? be "<expectedCount>" Verify the number of elements

Details
Examples:
Then the number of "input field" count should be "2"

Method:
stepVerifyElementCount(scenarioWorld: ScenarioWorld, selectorName: string, expectedCount: string, options: {not: boolean}): Promise<boolean>
Then the number of "<elementSelectorName>" count should( not)? be less than "<expectedCount>" Verify the number of elements are less than expected count

Details
Examples:
Then the number of "input field" count should be less than "2"

Method:
stepVerifyElementCountLessThan(scenarioWorld: ScenarioWorld, selectorName: string, expectedCount: string, options: {not: boolean}): Promise<boolean>
Then the number of "<elementSelectorName>" count should( not)? be greater than "<expectedCount>" Verify the number of elements are greater than expected count

Details
Examples:
Then the number of "input field" count should be greater than "2"

Method:
stepVerifyElementCountGreaterThan(scenarioWorld: ScenarioWorld, selectorName: string, expectedCount: string, options: {not: boolean}): Promise<boolean>
Then the number of "<elementSelectorName>" count should( not)? be less than equal to "<expectedCount>" Verify the number of elements are less than equal to expected count

Details
Examples:
Then the number of "input field" count should be less than equal to "2"

Method:
stepVerifyElementCountLessThanEqualTo(scenarioWorld: ScenarioWorld, selectorName: string, expectedCount: string, options: {not: boolean}): Promise<boolean>
Then the number of "<elementSelectorName>" count should( not)? be greater than equal to "<expectedCount>" Verify the number of elements are greater than equal to expected count

Details
Examples:
Then the number of "input field" count should be greater than equal to "2"

Method:
stepVerifyElementCountGreaterThanEqualTo(scenarioWorld: ScenarioWorld, selectorName: string, expectedCount: string, options: {not: boolean}): Promise<boolean>
Then the "<elementSelectorName>" should( not)? be <expectedElementState> Verify element state such as displayed | visible | invisible | hidden | enabled | disabled | editable | checked | selected

Details
Examples:
Then the "username input field" should be displayed

Then the "next button" should be enabled

Method:
stepVerifyElementState(scenarioWorld: ScenarioWorld, selectorName: string, state: string, options: {not: boolean}): Promise<boolean>
Then the "<elementSelectorName>" should( not)? be <expectedElementState>|<expectedElementState> Verify element state such as displayed | visible | invisible | hidden | enabled | disabled | editable | checked | selected

Details
Examples:
Then the "username input field" should be displayed|enabled|editable

Then the "next button" should be displayed|enabled

Method:
stepVerifyElementState(scenarioWorld: ScenarioWorld, selectorName: string, state: string, options: {not: boolean}): Promise<boolean>
Then the "<elementSelectorName>" with the placeholder "<placeHolderName:placeHolderValue>" should( not)? be <expectedElementState> Verify element state such as displayed | visible | invisible | hidden | enabled | disabled | editable | checked | selected by replacing placeholder name with value in the element selector

Details
Examples:
Then the "video tile" with the placeholder "NAME:John" should be displayed

Then the "video tile" with the placeholder "NAME:Jony" should not be displayed

Method:
stepVerifyElementState(scenarioWorld: ScenarioWorld, selectorName: string, state: string, options: {placeholderPair: string, not: boolean}): Promise<boolean>
Then the "<elementSelectorName>" with the placeholder "<placeHolderName:placeHolderValue>" should( not)? be <expectedElementState>|<expectedElementState> Verify element state such as displayed | visible | invisible | hidden | enabled | disabled | editable | checked | selected by replacing placeholder name with value in the element selector

Details
Examples:
Then the "video tile" with the placeholder "NAME:John" should be displayed|enabled

Then the "video tile" with the placeholder "NAME:Jony" should not be displayed|enabled

Method:
stepVerifyElementState(scenarioWorld: ScenarioWorld, selectorName: string, state: string, options: {placeholderPair: string, not: boolean}): Promise<boolean>
Then the "<elementSelectorName>" text should( not)? be "<expectedText>" Verify element text

Details
Examples:
Then the "meeting name" text should be "All-Hands"

Then the "timer" text should not be "00:00:00"

Method:
stepVerifyElementText(scenarioWorld: ScenarioWorld, selectorName: string, expectedText: string, options: {not: boolean}): Promise<boolean>
Then the "<elementSelectorName>" text should( not)? contain "<expectedText>" Verify element contains text

Details
Examples:
Then the "app version" text should contain "SDK"

Then the "app version" text should not contain "RTS"

Method:
stepVerifyElementContainText(scenarioWorld: ScenarioWorld, selectorName: string, expectedText: string, options: {not: boolean}): Promise<boolean>
Then the "<elementSelectorName>" text should( not)? match "<expectedTextRegEx>" Verify element match text using regex

Details
Examples:
Then the "timer" text should match "^00:00:00$"

Then the "timer" text should not contain "^00:00:00$"

Method:
stepVerifyElementMatchText(scenarioWorld: ScenarioWorld, selectorName: string, expectedText: string, options: {not: boolean}): Promise<boolean>
Then the "<elementSelectorName>" text with the placeholder "<placeHolderName:placeHolderValue>" should( not)? be "<expectedText>" Verify element text by replacing placeholder name with value in the element selector

Details
Examples:
Then the "host video view username" text with the placeholder "NAME:John" should be "John Bond"

Then the "host video view username" text with the placeholder "NAME:John" should not be "John Board"

Method:
stepVerifyElementText(scenarioWorld: ScenarioWorld, selectorName: string, expectedText: string, options: {placeholderPair: string, not: boolean}): Promise<boolean>
Then the "<elementSelectorName>" text with the placeholder "<placeHolderName:placeHolderValue>" should( not)? contain "<expectedText>" Verify element contains text by replacing placeholder name in the element selector

Details
Examples:
Then the "user id" text with the placeholder "NAME:Admin" should contain "John"

Then the "user id" text with the placeholder "NAME:Admin" should not contain ""

Method:
stepVerifyElementContainText(scenarioWorld: ScenarioWorld, selectorName: string, expectedValue: string, options: {placeholderPair: string, not: boolean}): Promise<boolean>
Then the "<elementSelectorName>" text with the placeholder "<placeHolderName:placeHolderValue>" should( not)? match "<expectedTextRegEx>" Verify element match text using regex by replacing placeholder name in the element selector

Details
Examples:
Then the "token id" text with the placeholder "NAME:Admin" value should match "^d{7}$"

Then the "timer" text with the placeholder "NAME:Admin" should not match "^00:00:00$"

Method:
stepVerifyElementMatchText(scenarioWorld: ScenarioWorld, selectorName: string, expectedText: string, options: {placeholderPair: string, not: boolean}): Promise<boolean>
Then the "<elementSelectorName>" value should( not)? be "<expectedValue>" Verify element value

Details
Examples:
Then the "username input field" value should be "John"

Then the "username input field" value should not be "Jony"

Method:
stepVerifyElementValue(scenarioWorld: ScenarioWorld, selectorName: string, expectedValue: string, options: {not: boolean}): Promise<boolean>
Then the "<elementSelectorName>" value should( not)? contain "<expectedValue>" Verify element contains value

Details
Examples:
Then the "account id" value should contain "TfW"

Then the "account id" value should not contain "RTS"

Method:
stepVerifyElementContainValue(scenarioWorld: ScenarioWorld, selectorName: string, expectedValue: string, options: {not: boolean}): Promise<boolean>
Then the "<elementSelectorName>" value should( not)? match "<expectedTextRegEx>" Verify element match value using regex

Details
Examples:
Then the "token id" value should match "^d{7}$"

Then the "timer" value should not match "^00:00:00$"

Method:
stepVerifyElementMatchValue(scenarioWorld: ScenarioWorld, selectorName: string, expectedValue: string, options: {not: boolean}): Promise<boolean>
Then the "<elementSelectorName>" value with the placeholder "<placeHolderName:placeHolderValue>" should( not)? contain "<expectedValue>" Verify element contains value by replacing placeholder name in the element selector

Details
Examples:
Then the "user id" value with the placeholder "NAME:Admin" should contain "John"

Then the "user id" value with the placeholder "NAME:Admin" should not contain ""

Method:
stepVerifyElementContainValue(scenarioWorld: ScenarioWorld, selectorName: string, expectedValue: string, options: {placeholderPair: string, not: boolean}): Promise<boolean>
Then the "<elementSelectorName>" value with the placeholder "<placeHolderName:placeHolderValue>" should( not)? match "<expectedTextRegEx>" Verify element match value using regex by replacing placeholder name in the element selector

Details
Examples:
Then the "token id" value with the placeholder "NAME:Admin" should match "^d{7}$"

Then the "timer" value with the placeholder "NAME:Admin" should not match "^00:00:00$"

Method:
stepVerifyElementMatchValue(scenarioWorld: ScenarioWorld, selectorName: string, expectedValue: string, options: {placeholderPair: string, not: boolean}): Promise<boolean>
Then the "<elementSelectorName>" attribute "<attributeName>" value should( not)? be "<attributeValue>" Verify element attribute value

Details
Examples:
Then the "user name input field" attribute "placeholder" value should be "Enter your name"

Method:
stepVerifyElementAttribute(scenarioWorld: ScenarioWorld, selectorName: string, attributeName: string, attributeValue: string, options: {not: boolean}): Promise<boolean>
Then the "<elementSelectorName>" attribute "<attributeName>" value with the placeholder "<placeHolderName:placeHolderValue>" should( not)? be "<attributeValue>" Verify element attribute value by replacing placeholder name with value in the element selector

Details
Examples:
Then the "presentation button svg" attribute "fill" value with the placeholder "USERNAME:Host User" should be "#FFFFFF"

Method:
stepVerifyElementAttribute(scenarioWorld: ScenarioWorld, selectorName: string, attributeName: string, attributeValue: string, options: {placeholderPair: string, not: boolean}): Promise<boolean>
Then the "<elementSelectorName>" text should( not)? be equal to the "<VARIABLE_NAME>" variable from the (local|global) data store Verify element text with the text stored in the local or global data store

Details
Examples:
Then the "invite cohosts link" text should be equal to the "EVENTS_CO_HOST_APP_URL" variable from the local data store

Method:
stepVerifyElementTextWithDataStore(scenarioWorld: ScenarioWorld, selectorName: string, dataStoreType: string, variableName: string, options: {not: boolean}): Promise<boolean>
Then the "<elementSelectorName>" text should( not)? be equal to the "<VARIABLE_NAME>" environment variable Verify element text with the environment variable

Details
Examples:
Then the "invite cohosts link" text should be equal to the "EVENTS_CO_HOST_APP_URL" environment variable

Method:
stepVerifyElementTextWithDataStore(scenarioWorld: ScenarioWorld, selectorName: string, dataStoreType: string, variableName: string, options: {not: boolean}): Promise<boolean>
Then the "<elementSelectorName>" text should( not)? be equal to the copied clipboard text Verify the element text with copied clipboard text

Details
Examples:
Then the "viewer link" text should be equal to the copied clipboard text

Method:
stepVerifyElementTextWithClipboardText(scenarioWorld: ScenarioWorld, selectorName: string, options: {not: boolean}): Promise<boolean>
Then the "<elementSelectorName>" selected option should( not)? be "<expectedValue>" Verify selected options from the select dropdown

Details
Examples:
Then the "country dropdown" selected option should be "Australia"

Then the "country dropdown" selected options should be "Australia, New Zealand"

Then the "country dropdown" selected option should not be "Australia"

Method:
stepVerifySelectedOptionsFromSelectDropdown(scenarioWorld: ScenarioWorld, selectorName: string, expectedOptions: string[], options: {not: boolean}): Promise<boolean>
Then the "<elementSelectorName>" should( not)? have "<expectedOptions>" options Verify select dropdown has the exactly the specified options

Details
Examples:
Then the "country dropdown" should have "Australia, New Zealand, India, Singapore" options

Method:
stepVerifyOptionsEqualsFromSelectDropdown(scenarioWorld: ScenarioWorld, selectorName: string, expectedOptions: string[], options: {not: boolean}): Promise<boolean>
Then the "<elementSelectorName>" should( not)? contain "<expectedOptions>" options Verify select dropdown contains the specified options

Details
Examples:
Then the "country dropdown" should contain "Australia, New Zealand" options

Method:
stepVerifyOptionsContainsFromSelectDropdown(scenarioWorld: ScenarioWorld, selectorName: string, expectedOptions: string[], options: {not: boolean}): Promise<boolean>
Then the "<elementSelectorName>" computed attribute "<attributeName>" value should( not)? be "<attributeValue>" Verify element computed attribute value

Details
Examples:
Then the "stream status dot" computed attribute "background" value should be "0xFFFF00"

Method:
stepVerifyElementComputedAttribute(scenarioWorld: ScenarioWorld, selectorName: string, attributeName: string, attributeValue: string, options: {not: boolean}): Promise<boolean>
Then the "<elementSelectorName>" computed attribute "<attributeName>" value with the placeholder "<placeHolderName:placeHolderValue>" should( not)? be "<attributeValue>" Verify element computed attribute value by replacing placeholder name with value in the element selector

Details
Examples:
Then the "stream status dot" computed attribute "height" value with the placeholder "USERNAME:Host User" should be "100px"

Method:
stepVerifyElementComputedAttribute(scenarioWorld: ScenarioWorld, selectorName: string, attributeName: string, attributeValue: string, options: {placeholderPair: string, not: boolean}): Promise<boolean>
Then the image "<image1>" should( not)? be equal to image "<image2>" Verify that the two images are same

Details
Examples:
Then the image "<image1>" should be equal to image "<image2>"

Then the image "<image1>" should not be equal to image "<image2>"

Method:
stepVerifyImage(scenarioWorld: ScenarioWorld, image1: string, image2: string, options: {not: boolean}): Promise<boolean>
Then the image "<image1>" should( not)? be equal to image "<image2>" with "<threshold>" threshold Verify that the two images are same with a given threshold, pixelmatch comparison library is used to compare screenshots. threshold — Matching threshold, ranges from 0 to 1. Smaller values make the comparison more sensitive. 0.1 by default.

Details
Examples:
Then the image "<image1>" should be equal to image "<image2>" with "0.3" threshold

Then the image "<image1>" should not be equal to image "<image2>" with "0.1" threshold

Method:
stepVerifyImage(scenarioWorld: ScenarioWorld, image1: string, image2: string, options: {not: boolean, threshold: number}): Promise<boolean>
Then perform the visual validation with the name "<Name>" Perform the visual validation using percy

Details
Examples:
Then perform the visual validation with the name "Create-Token-Modal-Basic"

Method:
stepVisualValidation(scenarioWorld: ScenarioWorld, name: string): Promise<boolean>
Then perform the visual validation with the name "<Name>" with the options "<Options>" Perform the visual validation using percy with options

Details
Examples:
Then perform the visual validation with the name "Create-Token-Modal-Basic" with the options "{"enableLayout": true}"

Method:
stepVisualValidation(scenarioWorld: ScenarioWorld, name: string, options: string ): Promise<boolean>
Then (the <actorName>|I) should be navigated to the "<pageName>" page Verify that the user is navigated to another page

Details
Examples:
Then the host should be navigated to the "device-setup" page

Then I should be navigated to the "rejoin-meeting" page

Method:
stepVerifyNavigateToPage(scenarioWorld: ScenarioWorld, pageName: string): Promise<boolean>
Then the page url should be "<URL>" Verify the page url

Details
Examples:


Method:
stepVerifyPageURL(scenarioWorld: ScenarioWorld, expectedURL: string, options: {not: boolean}): Promise<boolean>
Then the page title should( not)? be "<expectedTitle>" Verify page title

Details
Examples:
Then the page title should be "Dolby.IO"

Method:
stepVerifyPageTitle(scenarioWorld: ScenarioWorld, expectedTitle: string, options: {not: boolean}): Promise<boolean>
Then the <ParameterName> value "<ActualValue>" should( not)? be equal to "<ExpectedValue>" Compare two values

Details
Examples:
Then the main stream video state value "4" should be equal to "4"

Then the main stream video state value "4" should not be equal to "0"

Method:
stepVerifyValueEquals(actualValue: string, expectedValue: string, options: {not: boolean, parameterName: string}): void
Then the <ParameterName> value "<Actual>" should contain "<Expected>" Verify if actuals value contains expected value

Details
Examples:
Then the stream name value "Web-RTC" should contain "Web"

Method:
stepVerifyValueContains(actualValue: string, expectedValue: string, options: {not: boolean, parameterName: string}): boolean
Then the <ParameterName> value "<Actual>" should match "<expectedTextRegEx>" Verify if actuals value match expected regex

Details
Examples:
Then the timer value "00:00:00" should match "^00:00:00$"

Method:
stepVerifyValueMatch(actualValue: string, expectedRegex: string, message?: string): boolean
Then the <ParameterName> value "<Actual>" should be greater than "<Expected>" Verify if actuals value is greater than actual value

Details
Examples:
Then the viewer count value "50" should be greater than "30"

Method:
stepVerifyValueGreaterThan(actualValue: string, expectedValue: string, options: {not: boolean, parameterName: string}): boolean
Then the <ParameterName> value "<Actual>" should be less than "<Expected>" Verify if actuals value is less than actual value

Details
Examples:
Then the viewer count value "20" should be less than "30"

Method:
stepVerifyValueLessThan(actualValue: string, expectedValue: string, options: {not: boolean, parameterName: string}): boolean
Then the <ParameterName> value "<Actual>" should be greater than equal to "<Expected>" Verify if actuals value is greater than equal to actual value

Details
Examples:
Then the viewer count value "50" should be greater than equal to "30"

Method:
stepVerifyValueGreaterThanEqualTo(actualValue: string, expectedValue: string, options: {not: boolean, parameterName: string}): boolean
Then the <ParameterName> value "<Actual>" should be less than equal to "<Expected>" Verify if actuals value is less than equal to actual value

Details
Examples:
Then the viewer count value "20" should be less than equal to "30"

Method:
stepVerifyValueLessThanEqualTo(actualValue: string, expectedValue: string, options: {not: boolean, parameterName: string}): boolean
Then the <ParameterName> value "<Actual>" should be less than equal to "<Expected>" Verify if actual value is in range of expected value with the given threshold

Details
Examples:
Then the viewer count value "20" should be in range of "20" with threshold of "2"

Method:
stepVerifyValueInRangeWithThreshold(actualValue: string, expectedValue: string, threshold: string, options: {parameterName: string}): boolean
Then the <ParameterName> value "<Actual>" should be in range of "<ExpectedLowerBound>" and "<ExpectedUpperBound>" Verify if actual value is in range of expected lower bound and uper bound value

Details
Examples:
Then the viewer count value "20" should be in range of "19" and "21"

Method:
stepVerifyValueInRangeWithValues(actualValue: string, expectedLowerBound: string, expectedUpperBound: string, options: {parameterName: string}): boolean
Then the <ParameterName> value "<Actual>" should contain in "<ExpectedList>" list Verify if value is present in the list

Details
Examples:
Then the cluster name value "SYD" should contain in "IND,AUS,SYD,BLR" list

Method:
stepVerifyArrayContains(actualValue: string, expectedList: string, options: {not: boolean, parameterName: string}): boolean

Package Sidebar

Install

npm i cucumber-playwright-framework

Weekly Downloads

698

Version

0.1.0-beta.42

License

MIT

Unpacked Size

733 kB

Total Files

323

Last publish

Collaborators

  • vishalkharge