systelab-components-wdio-test
Version:
Widgets to be use in the E2E Tests based in WDIO
36 lines (35 loc) • 1.1 kB
JavaScript
import { Widget } from './widget.js';
export class MultipleComboBox extends Widget {
async click() {
return this.elem.click();
}
async getOptions() {
let content = [];
let rows = this.allByCSS('.ag-cell-value');
let numberOfItems = await rows.count();
for (let i = 0; i < numberOfItems; i++) {
content.push(await rows.get(i).getText());
}
return content;
}
async selectOptionByNumber(i) {
return this.allByCSS('.ag-selection-checkbox').get(i).click();
}
async selectTab(i) {
return this.allByTagName('li').get(i).click();
}
async selectOptionByText(text) {
let index = -1;
let rows = this.allByCSS('.ag-cell-value');
const numberOfItems = await rows.count();
for (let i = 0; i < numberOfItems; i++) {
const cellText = await rows.get(i).getText();
if (cellText === text) {
index = i;
}
}
if (index != -1) {
await this.selectOptionByNumber(index);
}
}
}