برنامه نویسی

تست های نمایشنامه نویسی را با CodeGen ایجاد کنید

نمایشنامه نویس ، یک کتابخانه اتوماسیون منبع باز که توسط مایکروسافت ساخته شده است ، شاهد افزایش سریع محبوبیت است که به ویژگی ها و قابلیت های مدرن آن نسبت داده می شود که محدودیت های چارچوب های تست سنتی مانند سلنیوم را برطرف می کند.

شرح تصویر

ما از Visual Studio 2022 به همراه C# و NUNIT استفاده خواهیم کرد تا نمونه ای ساده را نشان دهیم که ویژگی های اساسی نمایشنامه نویس را به نمایش می گذارد.

مرحله 1: پیش نیازها

  1. Visual Studio را نصب کنید:
    اطمینان حاصل کنید که Visual Studio 2022 (یا بعد از آن) نصب شده اید.

  2. node.js را نصب کنید:
    node.js را بارگیری و نصب کنید
    نصب را با اجرا تأیید کنید:

node -v
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

  1. مرورگرهای نمایشنامه نویس را نصب کنید: به طور پیش فرض ، نمایشنامه نویس سه مرورگر زیر را نصب می کند: کروم ، فایرفاکس و WebKit.

یک پنجره CMD یا PowerShell را از یک فهرست کار باز کنید.
دستور زیر را برای نصب مرورگرهای نمایشنامه نویس و وابستگی های آنها اجرا کنید.

npx playwright install
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

مرحله 2: یک پروژه NUNIT جدید ایجاد کنید

  1. Visual Studio را باز کنید و یک پروژه جدید ایجاد کنید:
  2. الگوی پروژه تست Nunit را انتخاب کنید.
  3. نام پروژه ، به عنوان مثال ، PlaywrightSample
  4. تأیید کنید که این پروژه شامل یک پرونده تست پیش فرض ، به عنوان مثال ، unittest1.cs است

مرحله 3: بسته های Nuget Playwright را نصب کنید

بر روی پروژه خود در Solution Explorer کلیک راست کرده و مدیریت بسته های Nuget را انتخاب کنید.
بسته های زیر را جستجو و نصب کنید:
microsoft.playwright
microsoft.playwright.nunit
microsoft.playwright.testadapter
مرحله 4: تست های ضبط را با استفاده از CodeGen ضبط کنید

نمایشنامه نویس یک GUI به نام CodeGen را برای ضبط اقدامات کاربر از ابتدا تا پایان ارائه می دهد. همچنین شامل انواع مختلفی از ادعاها از جمله ادعای دید ، ادعای متن و ادعای ارزش است. CodeGen ابزاری عالی است زیرا به کاربران امکان می دهد با یک صفحه وب تعامل داشته باشند در حالی که نمایشنامه نویس این اقدامات را در زمان واقعی ثبت می کند. پس از ضبط ، CodeGen قطعه های کد را در زبان های مختلف برنامه نویسی مانند TypeScript ، JavaScript ، Python و C#ایجاد می کند. این به کاربران امکان می دهد زبانی را که از آن راحت تر هستند انتخاب کنند.

برای ضبط تست ها در نمایشنامه نویس ، دستور زیر را در پنجره PowerShell اجرا می کنیم.

npx playwright codegen https://www.automationexercise.com
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

این دستور ضبط را شروع می کند و 2 ویندوز را باز می کند ، (1) یک پنجره بازرس نمایشنامه نویس مانند شکل 1 ، و (2) یک پنجره مرورگر که صفحه اصلی سایت را نشان می دهد ، همانطور که در شکل 2 نشان داده شده است.

همانطور که در حال نوشتن تست Nunit با C#هستیم ، حتماً Nunit Option را از Dropdown Target انتخاب کنید.

شرح تصویر
شکل 1- پنجره بازرس نمایشنامه نویس

شرح تصویر
شکل 2- صفحه اصلی سایت

اکنون اقدامات زیر را روی مرورگر انجام دهید:

  • اضافه کردن یک ادعا برای اطمینان از اینکه صفحه اصلی با موفقیت بارگیری می شود
  • پیمایش به لینک محصولات
  • پیمایش به محصول اول و بر روی View Product کلیک کنید
  • بر روی Add To Cart در صفحه جزئیات محصول کلیک کنید
  • اضافه کردن ادعا برای اطمینان از اضافه شدن محصول به سبد خرید
  • برای مشاهده جزئیات سبد خرید روی سبد خرید کلیک کنید
  • اضافه کردن ادعا برای دیدن اینکه آیا محصول اضافه شده در سبد خرید ذکر شده است

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

using Microsoft.Playwright.NUnit;
using Microsoft.Playwright;

[Parallelizable(ParallelScope.Self)]
[TestFixture]
public class Tests : PageTest
{
    [Test]
    public async Task MyTest()
    {
        await Page.GotoAsync("https://www.automationexercise.com/");
        await Expect(Page.Locator("#header")).ToContainTextAsync("Home");
        await Page.GetByRole(AriaRole.Link, new() { Name = " Products" }).ClickAsync();
        await Page.Locator(".choose > .nav > li > a").First.ClickAsync();
        await Page.GetByRole(AriaRole.Button, new() { Name = " Add to cart" }).ClickAsync();
        await Expect(Page.Locator("#cartModal")).ToContainTextAsync("Added!");
        await Page.GetByRole(AriaRole.Button, new() { Name = "Continue Shopping" }).ClickAsync();
        await Page.GetByRole(AriaRole.Link, new() { Name = " Cart" }).ClickAsync();
        await Expect(Page.Locator("#product-1")).ToContainTextAsync("Blue Top");
    }
}
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

مرحله 5: آزمون را اجرا کنید

پس از تولید کد ، به سادگی آن را در کلاس تست پروژه خود کپی و چسبانده و آزمون را اجرا کنید. به طور پیش فرض ، آزمایش با استفاده از مرورگر Chromium در حالت بدون سر اجرا می شود. به منظور دیدن مرورگر و استفاده از Firefox ، پرونده ای به نام Application.Runsettings ایجاد کردیم.

  • بر روی نام پروژه Visual Studio راست کلیک کنید
  • Add -> مورد جدید را انتخاب کنید
  • xmlfile.xml را انتخاب کنید و آن را به برنامه تغییر نام دهید.



 
  firefox
  
   false
  
 

حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

  1. از منوی تست در ویژوال استودیو ، انتخاب کنید: تست -> تنظیم تنظیم تنظیم -> فایل Runsettings Wide Solution را انتخاب کنید ، سپس پرونده XML را انتخاب کنید که فقط Application.Runsettings ایجاد کرده ایم.

voilaa !! همه شما تنظیم شده اید.

راه حل را بسازید و تست خود را اجرا کنید.

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا