web-element-wrapper
v0.0.3
Published
Web-Element wrapper is wrapper over Selenium WebElement.
Downloads
4
Maintainers
Readme
Sorry, package will be avialable later
web-element-wrapper
Web-Element wrapper over Selenium WebElement. It represents a single element and collection of elements in one time. It is a Web Element builder. Also, this module contains waitHelper for WebElement. This component help you create method for expectations certain result on page.
Node
WebElement is available as an npm module.
$ npm install web-element-wrapper
Methods:
Methods for get property of Web Element(s):
- isDisplayed
- isSelected
- isEnabled
- isExists
- getText
- getContent
- getCount
- getAttribute
Actions over Web Element:
- click
- clear
- sendKeys
- hover
- hoverAndClick
- hide
Main criteria for Web element builder:
- byXPath
Additional criteria for Web element builder:
- includeHidden
- byIndex
- first
- last
Methods for select item in combobox:
- selectByText
- selectByIndex
Cycles for web element(s):
- forEach
- select
Examples:
Import WebElement:
import {WebElement} from 'web-element-wrapper';
Find element and click:
let header = new WebElement(webDriver).byXPath("//h1[contains(.,'SOME TEXT')]");
await header.click();
WebElement builder(Get first Web Element on page including hidden):
let elem = await new WebElement(webDriver).byXPath(`$//div`).includeHidden().first();
ForEach(click by all elements):
let elems = await new WebElement(webDriver).byXPath(`//a[@ng-repeat]`);
await elems.forEach(async (elem: WebElement) => {await elem.click(); });
Waiting of the condition(Waiting for dying the loading indicator for 5 seconds):
public async waitLoadingIndicator(elem: WebElement, expectedResult: boolean): Promise<void> {
let condition = WaitHelper.createWaitCondition(elem, elem.isExists);
let timeStamp = { timeout: 5000, interval: 1000 };
let waitngForSpinner = await WaitHelper.spinWait(condition, expectedResult, timeStamp);
if (!waitngForSpinner) {
throw 'Loading indicator failed';
}
}
Find element and find other element inside first
let tableOfUsers: WebElement = new WebElement(webDriver).ByXpath("//table[@id='listOfUsers']");
let userNames: WebElement = new WebElement(webDriver, tableOfUsers).ByXpath("./tr/td[1]");