url: string; public readonly header_menu_login_link: Locator; public readonly main_contents_list_delete_button: Locator; public readonly modal_confirm: Locator; public readonly modal_confirm_ng_button: Locator; public readonly main_contents_card_add_button: Locator; constructor(page: Page) { this.page = page; this.url = "/top"; this.header_menu_login_link = this.page .locator("header") .locator("menu") .locator("li") .getByRole("link", { name: " ログイン", }); this.main_contents_list_delete_button = this.page .getByRole("main") .locator("list") .first() .getByRole("button", { name: " 削除" }); this.modal_confirm = this.page.locator(".modal .confirm"); this.modal_confirm_ng_button = this.page .locator(".modal .confirm .ng") .getByRole("button", { name: " キャンセル" }); this.main_contents_card_add_button = this.page .locator("main .contents") .first() .locator(".card button"); } } 設計カンファレンス extends OOC E2E テストの設計 / 戦術的設計 / Page Locator Book のススメ 48