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" 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 URLDetailsExamples: 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 injectedDetailsExamples: 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 injectedDetailsExamples: 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-geolocationDetailsExamples: 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> |
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" 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 storeDetailsExamples: 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 storeDetailsExamples: 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 variableDetailsExamples: 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 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 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>
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>
Details
Examples:
When the host press the "Escape" key
When I press the "Shift+A" key
Method:
stepPressKeyboardKeysOnThePage(scenarioWorld: ScenarioWorld, key: string): Promise<void>
Details
Examples:
When the host refreshes the page
When I refresh the page
Method:
stepRefreshThePage(scenarioWorld: ScenarioWorld): Promise<void>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
Details
Examples:
When the host reads the "viewer link" text
Method:
stepGetElementText(scenarioWorld: ScenarioWorld, selectorName: string): Promise<string | null>
Details
Examples:
When the host reads the "username input" value
Method:
stepGetElementValue(scenarioWorld: ScenarioWorld, selectorName: string): Promise<string | null>
Details
Examples:
When the host gets the "blogs link" count
Method:
stepGetElementCount(scenarioWorld: ScenarioWorld, selectorName: string): Promise<number>
Details
Examples:
is "blog link" displayed
Method:
stepGetElementState(scenarioWorld: ScenarioWorld, selectorName: string, state: string): Promise<boolean>
Details
Examples:
When the host gets the "ingest stats" table data
Method:
stepGetElementTableData(scenarioWorld: ScenarioWorld, selectorName: string): Promise<string[][]>
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>
Details
Examples:
When the host reads the page URL
Method:
stepGetPageURL(scenarioWorld: ScenarioWorld): Promise<string>
Details
Examples:
When the host reads the page title
Method:
stepGetPageTitle(scenarioWorld: ScenarioWorld): Promise<string>
Details
Examples:
When the host reads the selected option from "country dropdown"
Method:
stepGetSelectedOptionFromDropdown(scenarioWorld: ScenarioWorld, selectorName: string): Promise<string>
Details
Examples:
When the host reads the selected options from "country dropdown"
Method:
stepGetSelectedOptionsFromDropdown(scenarioWorld: ScenarioWorld, selectorName: string): Promise<string[]>
Details
Examples:
When the host reads the "viewer text" inner HTML
Method:
stepGetElementInnerHTML(scenarioWorld: ScenarioWorld, selectorName: string): Promise<string | null>
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>
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>
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>
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>
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>
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>
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>
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>
Details
Examples:
When the host waits for "10" seconds
Method:
stepWaitForSeconds(seconds: number): Promise<void>
Details
Examples:
When the host waits for "2" minutes
Method:
stepWaitForSeconds(seconds: number): Promise<void>
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>
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>
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>
Details
Examples:
When the host waits for "state" text to be "Active"
Method:
stepWaitForElementText(scenarioWorld: ScenarioWorld, selectorName: string, expectedText: string): Promise<boolean>
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>
Details
Examples:
When the host waits for "status" value to be "Active"
Method:
stepWaitForElementValue(scenarioWorld: ScenarioWorld, selectorName: string, expectedValue: string): Promise<boolean>
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>
Step | Summary |
---|---|
Then the clipboard text should( not)? be equal to "<expectedText>" | Verify the clipboard textDetailsExamples: 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 storeDetailsExamples: 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 elementsDetailsExamples: 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 countDetailsExamples: 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 countDetailsExamples: 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 countDetailsExamples: 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 countDetailsExamples: 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 | selectedDetailsExamples: 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 | selectedDetailsExamples: 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 selectorDetailsExamples: 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 selectorDetailsExamples: 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 textDetailsExamples: 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 textDetailsExamples: 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 regexDetailsExamples: 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 selectorDetailsExamples: 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 selectorDetailsExamples: 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 selectorDetailsExamples: 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 valueDetailsExamples: 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 valueDetailsExamples: 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 regexDetailsExamples: 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 selectorDetailsExamples: 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 selectorDetailsExamples: 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 valueDetailsExamples: 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 selectorDetailsExamples: 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 storeDetailsExamples: 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 variableDetailsExamples: 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 textDetailsExamples: 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 dropdownDetailsExamples: 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 optionsDetailsExamples: 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 optionsDetailsExamples: 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 valueDetailsExamples: 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 selectorDetailsExamples: 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 sameDetailsExamples: 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.DetailsExamples: 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 percyDetailsExamples: 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 optionsDetailsExamples: 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 pageDetailsExamples: 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 urlDetailsExamples: Method: stepVerifyPageURL(scenarioWorld: ScenarioWorld, expectedURL: string, options: {not: boolean}): Promise<boolean> |
Then the page title should( not)? be "<expectedTitle>" | Verify page titleDetailsExamples: 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 valuesDetailsExamples: 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 valueDetailsExamples: 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 regexDetailsExamples: 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 valueDetailsExamples: 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 valueDetailsExamples: 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 valueDetailsExamples: 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 valueDetailsExamples: 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 thresholdDetailsExamples: 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 valueDetailsExamples: 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 listDetailsExamples: 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 |