有没有办法停止Playwright中Before Hooks的运行

问题描述 投票:0回答:1

我正在为一个仅使用 Google 进行身份验证的组织编写测试用例。但我们无法使用 Playwright 自动执行 Google 身份验证。因此,我正在尝试构建一个测试,该测试运行用户在其中打开并进行身份验证的浏览器。所以之后他就可以运行测试了。

因此我想到在 Typescript 中设计一个测试用例,我打算在其中打开浏览器登录,然后我想在同一浏览器上运行测试用例。但是,由于 Before Hooks,我登录的选项卡被重新加载。

考虑下面的示例,我打开 Playwright 浏览器并手动导航到 Google,然后编写一个测试用例,通过在之前手动加载的搜索栏中键入 Apple 来搜索 Apple。我已经编写了一个用于搜索的测试用例,但它总是失败,因为在执行实际测试主体之前重新加载选项卡。

import { test, expect } from '@playwright/test';

test('LinkedinLoginTestCase', async ({ page }) => {
  await page.getByLabel('Search', { exact: true }).click();
  await page.getByLabel('Search', { exact: true }).fill('Apple');
  await page.getByRole('link', { name: 'Apple - Official Site apple.' }).click();
});
unit-testing automated-tests playwright
1个回答
0
投票

如果您打开有配置文件且不需要登录的浏览器,您的问题就可以解决。就像您在自己的浏览器中打开网站时发生的情况一样。

检查最后一个链接,详细解释相同的内容

如果您打开浏览器加载特定的配置文件,也可以实现相同的效果

browser = playwright.chromium.connect_over_cdp("http://localhost:9222")

在上面之前你可以像这样打开浏览器

C:\Program Files\Google\Chrome\Application\chrome.exe" --remote-debugging-port=9222

来源:- -尽管这个答案适用于Python方法,即使你在selenium中做同样的事情,方法也保持不变

© www.soinside.com 2019 - 2024. All rights reserved.