آموزش نمایشنامه نویس برای مبتدیان 5 – اجرای اکشن

ورودی تست
به راحتی می توانید فیلدهای فرم را با آن پر کنید page.fill().
page.fill() روی عنصر تمرکز می کند و an را تحریک می کند input رویداد با متن مشخص شده کار می کند <input>، <textarea>، [contenteditable] و <label> مرتبط با یک ناحیه ورودی یا متنی.
const { test } = require('@playwright/test');
test('input text into a test element', async ({ page }) => {
await page.goto('https://demoblaze.com');
await page.click('#signin2');
await page.fill('#sign-username', 'zt4ff');
});
برای مشاهده نحوه اجرای آزمون، می توانید تنظیم کنید
headlessوslowMoملک درplaywright.config.jsفایل. برای مثال:
// playwright.config.js
// ...
use: {
launchOptions: {
slowMo: 400,
headless: false
}
// ...
page.type() همچنین می توان استفاده کرد اما با آن فرق می کند page.fill() به معنای ارسال الف keydown، keypress/input و keyup رویداد برای هر شخصیت متن در حالی که page.fill() فقط یک input رویداد روی عنصر متمرکز با متن مشخص شده.
page.type() هر رویداد صفحه کلید ضروری را فعال می کند و حتی می توانید آن را تنظیم کنید delay از تایپ
چک باکس ها و دکمه های رادیویی
هنگام کار با چک باکس ها و دکمه های رادیویی، page چند روش برای بررسی، برداشتن علامت و دریافت وضعیت این عناصر ورودی (input[type=checkbox]، input[type=radio] یا [role=checkbox].
// Check the checkbox
await page.check('#agree');
// Assert the checked state
expect(await page.isChecked('#agree')).toBeTruthy();
// Uncheck by input <label>.
await page.uncheck('#subscribe-label');
// Select the radio button
await page.check('text=XL');
انتخاب گزینه ها از <select>
// Single selection matching the value
await page.selectOption('select#colors', 'blue');
// Single selection matching the label
await page.selectOption('select#colors', { label: 'Blue' });
// Multiple selected items
await page.selectOption('select#colors', ['red', 'green', 'blue']);
// Select the option via element handle
const option = await page.$('#best-option');
await page.selectOption('select#colors', option);
با استفاده از ماوس
با استفاده از Playwright می توانید انواع مختلفی از کلیک های ماوس را انجام دهید. را .click() متد یک آرگومان از عنصری که میخواهید روی آن کلیک کنید و آرگومانهای اختیاری برای تعریف گزینههای رویداد کلیک میگیرد. چند نمونه از موارد استفاده:
// generic clicking
await page.click('#edit-button');
// double click
await page.dblclick('#edit-button');
// right click
await page.click('#edit-button', { button: 'right' });
// using modifiers (like shift, control...) with the click
// shift + click
await page.click('#edit-button', { modifiers: ['Shift'] });
// ctrl + click
await page.click('#edit-button', { modifiers: ['Control'] });
// define the position point of click on the element
await page.click('#edit-button', { position: { x: 0, y: 0 } });
استفاده كردن .dispatchEvent()
برای مواردی که میخواهید فقط رویدادها را به صورت برنامهریزی راهاندازی کنید یا یک رویداد سفارشی را راهاندازی کنید که مستقیماً در Playwright API پیادهسازی نشده است، میتوانید از .dispatchEvent() روش.
در اینجا میتوانید درباره ایجاد و راهاندازی رویدادها بخوانید
// trigerring a custom event 'build'
// .dispatchEvent(selector, type[, eventInit, options])
await page.dispatchEvent('#edit-button', 'build')



