多维表格
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

31 lines
1.1 KiB

import { Locator } from "@playwright/test";
import { GridPage } from "..";
import BasePage from "../../../Base";
import { SelectOptionCellPageObject } from "./SelectOptionCell";
export class CellPageObject extends BasePage {
readonly grid: GridPage;
readonly selectOption: SelectOptionCellPageObject;
constructor(grid: GridPage) {
super(grid.rootPage);
this.grid = grid;
this.selectOption = new SelectOptionCellPageObject(this);
}
get({index, columnHeader}: {index: number, columnHeader: string}): Locator {
return this.grid.get().locator(`td[data-pw=cell-${columnHeader}-${index}]`);
}
async click({index, columnHeader}: {index: number, columnHeader: string}) {
return this.get({index, columnHeader}).click();
}
async dblclick({index, columnHeader}: {index: number, columnHeader: string}) {
return this.get({index, columnHeader}).dblclick();
}
async verify({index, columnHeader, value}: {index: number, columnHeader: string, value: string}) {
return await this.assertInnerTextWithRetry({locator: this.get({index, columnHeader}), text: value});
}
}