systelab-components-wdio-test
Version:
Widgets to be use in the E2E Tests based in WDIO
24 lines (23 loc) • 963 B
JavaScript
import { Widget } from './widget.js';
import { Browser } from "../wdio/index.js";
export class ContextMenu extends Widget {
async getOptions() {
let content = [];
let rows = this.allByTagName('systelab-context-menu-item');
let numberOfItems = await rows.count();
for (let i = 0; i < numberOfItems; i++) {
content.push(await rows.get(i).byTagName('a').getText());
}
return content;
}
async selectOptionByNumber(i) {
await Browser.waitUntil(async () => (await this.allByTagName('systelab-context-menu-item').count()) > i);
await this.allByTagName('systelab-context-menu-item').get(i).click();
}
async selectOptionByText(text) {
return this.byElementText('a', text).click();
}
async waitToBeNotPresent(timeout = 500) {
return this.elem.waitUntil(async () => (await this.allByTagName('systelab-context-menu-item').count()) == 0, timeout);
}
}