Я работаю над расширением Chrome, которое создает пользовательскую опцию контекстного меню, которая доступна, когда пользователь выделяет текст и щелчок правой кнопкой мыши на любой фоновой странице. < /p>
Варианты контекстного меню по умолчанию Chrome + My Custom 'Add Word' Option < /p>
Все эта функция работает под номинацией, когда я навсегда тестирую приложение, но я хотел бы добавить, что на ET2E тестирует, что ETMINE Tt, чтобы добавить, что ART2E AT2E. Я использую Playwright, чтобы написать мои тесты E2E, и моя пользовательская опция «Добавить слово» отображается в режиме отладки. Ярлыки, такие как «Shift+F10», чтобы открыть контекстное меню и использование команд «ArrowUp» и «ArrowDown», чтобы пройти через меню. Я попытался найти меню «Добавить слово», используя «page.getbytext ('добавить слово») и' getbyrole ('' button ', {name:' добавить слово '})' selectors безрезультатно. Я пытался использовать параметры правой кнопки. Я также пытался нажать на определенные координаты, используя этот API «page.mouse.click» на координатах контекстного меню, безрезультатно: https://playwright.dev/docs/api/class-mouse#mouse-move. Драматург не может найти этот вариант меню. Это связано с тем, что это контекстное меню не находится в стороне от страницы, понятно. Мне нужен способ запросить эту опцию. Я иду на произвольную фоновую страницу "https://www.google.com". Детали реализации «loginwith» не имеют значения. Этот пользовательский вариант меню отображается в тестовом браузере, как я показал на снимках экрана ранее: < /p>
import { test, expect } from "../fixtures";
import { goto, loginWith, testUser, VITE_API_DOMAIN } from "../helpers";
test.describe("Context menus", () => {
test.describe("when the user is logged in", () => {
test.beforeEach(async ({ page, context, request, extensionId }) => {
await context.clearCookies();
await request.delete(`${VITE_API_DOMAIN}/testing/reset`);
await request.post(`${VITE_API_DOMAIN}/users`, {
data: testUser,
});
await goto(page, extensionId);
});
test("it shows the context menu", async ({
page,
}) => {
await loginWith(page, testUser.email, testUser.password);
await page.goto("https://www.google.com");
const privacyButton = page.getByText("Privacy");
await privacyButton.selectText();
await privacyButton.click({ button: "right" });
const addWordButton = page.getByRole("button", { name: "Add Word" });
await expect(addWordButton).toBeVisible();
});
});
});
< /code>
Тест вывод: < /p>
Running 1 test using 1 worker
1) [chromium] › tests/e2e/ContextMenu/context_menu.spec.ts:15:5 › Context menus › when the user is logged in › it shows the context menu when the user is logged in
Error: Timed out 5000ms waiting for expect(locator).toBeVisible()
Locator: getByRole('button', { name: 'Add Word' })
Expected: visible
Received:
Call log:
- expect.toBeVisible with timeout 5000ms
- waiting for getByRole('button', { name: 'Add Word' })
25 |
26 | const addWordButton = page.getByRole("button", { name: "Add Word" });
> 27 | await expect(addWordButton).toBeVisible();
| ^
28 | });
< /code>
В этом другом посте упоминается желание взаимодействовать с контекстным меню браузера по умолчанию, но этот пользователь не добавил опцию пользовательского меню, поэтому это не применимо к моей ситуации: правый клик мыши и выбор подходящего элемента с использованием Playwright. Мое контекстное меню - это контекстное меню браузера: как определить, что меню правого щелчка доступно, и вы можете открыть на новой вкладке без скриншотов. https://playwright.dev/docs/intro. Если можно выбрать эти параметры контекстного меню по умолчанию по умолчанию, то же самое должно быть применимо для моего пользовательского опции «Добавить слово» контекстного меню.
Подробнее здесь: https://stackoverflow.com/questions/796 ... -e2e-tests
Как я могу использовать драматург для взаимодействия с контекстным меню Chrome в тестах E2E? ⇐ Javascript
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
«Драматург устанавливает Firefox Chrome» выдает ошибку «Драматург: команда не найдена»
Anonymous » » в форуме Python - 0 Ответы
- 27 Просмотры
-
Последнее сообщение Anonymous
-
-
-
«Драматург устанавливает Firefox Chrome» выдает ошибку «Драматург: команда не найдена»
Anonymous » » в форуме Python - 0 Ответы
- 16 Просмотры
-
Последнее сообщение Anonymous
-