我正在尋找一種在 Playwright 中撰寫自定義命令的方法,就像在 Cypress 中一樣。Playwright Issues 有一頁與之相關,但我從未見過任何代碼示例。
我正在處理一個測驗用例,我試圖提高代碼的可重用性。這是代碼:
import { test, chromium } from '@playwright/test';
config();
let context;
let page;
test.beforeEach(async () => {
context = await chromium.launchPersistentContext(
'C:\\Users\\User\\AppData\\Local\\Microsoft\\Edge\\User Data\\Default',
{
headless: false,
executablePath: 'C:\\Program Files (x86)\\Microsoft\\Edge\\Application\\msedge.exe',
}
);
page = await context.newPage();
await page.goto('http://localhost:3000/');
});
test.afterEach(async () => {
await page.close();
await context.close();
});
test('Sample test', async () => {
await page.click('text=Open popup');
await page.click('_react=Button >> nth=0');
await page.click('text=Close popup');
});
我正在嘗試創建一個函式,該函式將呼叫掛鉤 test.beforeEach() 和 test.afterEach() 以及其中的代碼。
在 Playwright Issue 頁面中,它說我需要將它移動到一個單獨的 Node 模塊,然后我才能使用它,但我很難理解如何去做。
uj5u.com熱心網友回復:
您提供的示例可以通過實作自定義裝置來解決。Fixtures 是@playwright/test 定制/擴展測驗框架的解決方案。您可以定義自己的物件(類似于瀏覽器、背景關系、頁面)并注入到測驗中,以便測驗可以訪問它。但是他們也可以在每次測驗之前和之后做一些事情,例如設定先決條件和拆除它們。您還可以覆寫現有的燈具。
有關包括示例在內的更多資訊,請查看此處:https : //playwright.dev/docs/test-fixtures
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/357371.html
標籤:javascript 测试 剧作家
上一篇:選擇具有兩個簡單特征的所有不同行
