多维表格
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.
 
 
 
 
 
 

40 lines
1.0 KiB

// playwright-dev-page.ts
import { expect, Page } from "@playwright/test";
import BasePage from "../Base";
export class LoginPage extends BasePage {
constructor(rootPage: Page) {
super(rootPage);
}
goto() {
return this.rootPage.goto("/#/signin");
}
get() {
return this.rootPage.locator("html");
}
async fillEmail(email: string) {
await this.get().locator(`[pw-data="nc-form-signin__email"]`).waitFor();
await this.get().locator(`[pw-data="nc-form-signin__email"]`).fill(email);
}
async fillPassword(password: string) {
await this.get()
.locator(`[pw-data="nc-form-signin__password"]`)
.fill(password);
}
async submit() {
await this.get().locator(`[pw-data="nc-form-signin__submit"]`).click();
await expect(this.rootPage).toHaveURL("http://localhost:3000/#/");
}
async signIn({ email, password }: { email: string; password: string }) {
await this.goto();
await this.fillEmail(email);
await this.fillPassword(password);
await this.submit();
}
}