Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

refactor(test): 辞書ダイアログの読み方取得ロジックを改善 #2471

Merged
merged 3 commits into from
Jan 4, 2025
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 16 additions & 18 deletions tests/e2e/browser/辞書ダイアログ.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,29 +4,27 @@ import { getNewestQuasarDialog } from "../locators";

test.beforeEach(gotoHome);

// 読み方を確認する。
// エンジン起動直後など、たまに読みが反映されないことがあるので、
// 一度空にする -> テキストが消えたことを確認(消えてなかったらもう一度Enter)->
// 再度入力する -> 読み方が表示されたことを確認(表示されてなかったらもう一度Enter)
// という流れで読み方を確認する。
/**
* 最後のテキスト欄にテキストを入力し、その読みを取得する。
* 確実に読みを反映させるために、一度空にしてから入力する。
*/
async function getYomi(page: Page, inputText: string): Promise<string> {
const audioCellInput = page.locator(".audio-cell input").last();
const audioCellInput = page.getByRole("textbox", { name: "行目" }).last();
const accentPhrase = page.locator(".accent-phrase");

// 空にする
await audioCellInput.click();
await audioCellInput.fill("");
let text = "";
do {
await page.waitForTimeout(100);
await audioCellInput.press("Enter");
text = (await page.locator(".text-cell").allInnerTexts()).join("");
} while (text.length > 0);
await audioCellInput.press("Enter");
await expect(accentPhrase).not.toBeVisible();

// 入力する
await audioCellInput.click();
await audioCellInput.fill(inputText);
do {
await page.waitForTimeout(100);
await audioCellInput.press("Enter");
text = (await page.locator(".text-cell").allInnerTexts()).join("");
} while (text.length === 0);
await audioCellInput.press("Enter");
await expect(accentPhrase).not.toHaveCount(0);

return text;
return (await accentPhrase.allTextContents()).join("");
}

async function openDictDialog(page: Page): Promise<void> {
Expand Down
Loading