08ea5fbe98
添加用户管理视图、API和状态管理文件
95 lines
2.4 KiB
TypeScript
95 lines
2.4 KiB
TypeScript
import { BasePage } from './base-page';
|
|
|
|
export class AlmanacPage extends BasePage {
|
|
private readonly selectors = {
|
|
almanacTitle: '.almanac-title',
|
|
dateDisplay: '.date-display',
|
|
prevDateButton: '[data-testid="prev-date"]',
|
|
nextDateButton: '[data-testid="next-date"]',
|
|
lunarDate: '.lunar-date',
|
|
ganzhi: '.ganzhi',
|
|
shuxiang: '.shuxiang',
|
|
yi: '.yi',
|
|
ji: '.ji',
|
|
chongsha: '.chongsha',
|
|
wuxing: '.wuxing',
|
|
taishen: '.taishen',
|
|
caishen: '.caishen',
|
|
};
|
|
|
|
async navigate() {
|
|
await this.page.goto(`${this.baseURL}/pages/almanac/index`);
|
|
await this.waitForLoad();
|
|
}
|
|
|
|
async clickPrevDate() {
|
|
await this.clickElement(this.selectors.prevDateButton);
|
|
await this.waitForLoad();
|
|
}
|
|
|
|
async clickNextDate() {
|
|
await this.clickElement(this.selectors.nextDateButton);
|
|
await this.waitForLoad();
|
|
}
|
|
|
|
async getAlmanacTitle(): Promise<string> {
|
|
return await this.getText(this.selectors.almanacTitle);
|
|
}
|
|
|
|
async getDateDisplay(): Promise<string> {
|
|
return await this.getText(this.selectors.dateDisplay);
|
|
}
|
|
|
|
async getLunarDate(): Promise<string> {
|
|
return await this.getText(this.selectors.lunarDate);
|
|
}
|
|
|
|
async getGanzhi(): Promise<string> {
|
|
return await this.getText(this.selectors.ganzhi);
|
|
}
|
|
|
|
async getShuxiang(): Promise<string> {
|
|
return await this.getText(this.selectors.shuxiang);
|
|
}
|
|
|
|
async getYi(): Promise<string> {
|
|
return await this.getText(this.selectors.yi);
|
|
}
|
|
|
|
async getJi(): Promise<string> {
|
|
return await this.getText(this.selectors.ji);
|
|
}
|
|
|
|
async getChongsha(): Promise<string> {
|
|
return await this.getText(this.selectors.chongsha);
|
|
}
|
|
|
|
async getWuxing(): Promise<string> {
|
|
return await this.getText(this.selectors.wuxing);
|
|
}
|
|
|
|
async getTaishen(): Promise<string> {
|
|
return await this.getText(this.selectors.taishen);
|
|
}
|
|
|
|
async getCaishen(): Promise<string> {
|
|
return await this.getText(this.selectors.caishen);
|
|
}
|
|
|
|
async getAllAlmanacInfo() {
|
|
return {
|
|
title: await this.getAlmanacTitle(),
|
|
dateDisplay: await this.getDateDisplay(),
|
|
lunarDate: await this.getLunarDate(),
|
|
ganzhi: await this.getGanzhi(),
|
|
shuxiang: await this.getShuxiang(),
|
|
yi: await this.getYi(),
|
|
ji: await this.getJi(),
|
|
chongsha: await this.getChongsha(),
|
|
wuxing: await this.getWuxing(),
|
|
taishen: await this.getTaishen(),
|
|
caishen: await this.getCaishen(),
|
|
};
|
|
}
|
|
}
|