🔵 عنوان مقاله
If you have 100 pages, do you create 100 Page Objects?
🟢 خلاصه مقاله:
اگر در یک اپلیکیشن ۱۰۰ صفحه دارید، آیا باید ۱۰۰ تا Page Objects بسازید؟ Đinh Công Cảnh یادآوری میکند که Page Objects قرار نیست نقشهی یکبهیک از UI باشند؛ آنها باید رفتارهای پایدار و معنادار برای کاربر را کپسوله کنند تا تستها خوانا و مقاوم در برابر تغییرات ظاهری بمانند. بهجای پیروی کورکورانه از ساختار DOM، مرزها را بر اساس «قصد و کار» تعریف کنید: احراز هویت، جستوجو، افزودن به سبد، تسویهحساب. اجزای تکرارشونده مثل ناوبری، سربرگ، فیلترها، جدولها و مودالها را به صورت component objectهای قابلاستفادهمجدد جدا کنید.
قانون سرانگشتی این است که تعداد Page Objects را نه با تعداد صفحات، بلکه با انسجام مسئولیتها و میزان تغییرپذیری تعیین کنید: گاهی یک صفحه به چند object کوچکتر (فرم، لیست، ویجت سبد) نیاز دارد، و گاهی چند صفحه با رفتار مشابه یک object مشترک را به اشتراک میگذارند. نامگذاری را هدفمحور کنید و جزییات تعاملی و locatorهای پایدار را در خود Page Objects نگه دارید تا تستها در سطح دامنهٔ کسبوکار بیان شوند. از الگوهای مکمل مثل Screenplay Pattern هم میتوان در دامنههای پیچیده بهره گرفت.
نتیجه اینکه عدد «۱۰۰» پاسخی ندارد؛ معیار واقعی، نگهداشتپذیری و کاهش اثر موجی تغییرات UI است. پیام اصلی Đinh Công Cảnh درباره شمردن objectها نیست، بلکه ساختن انتزاعهای درست است تا تستها سریعتر تغییر کنند، واضحتر بمانند و سختتر بشکنند.
#PageObjects #TestAutomation #UITesting #DesignPatterns #Selenium #QA #SoftwareTesting #Maintainability
🟣لینک مقاله:
https://cur.at/vvybnfG?m=web
➖➖➖➖➖➖➖➖
👑 @software_Labdon
If you have 100 pages, do you create 100 Page Objects?
🟢 خلاصه مقاله:
اگر در یک اپلیکیشن ۱۰۰ صفحه دارید، آیا باید ۱۰۰ تا Page Objects بسازید؟ Đinh Công Cảnh یادآوری میکند که Page Objects قرار نیست نقشهی یکبهیک از UI باشند؛ آنها باید رفتارهای پایدار و معنادار برای کاربر را کپسوله کنند تا تستها خوانا و مقاوم در برابر تغییرات ظاهری بمانند. بهجای پیروی کورکورانه از ساختار DOM، مرزها را بر اساس «قصد و کار» تعریف کنید: احراز هویت، جستوجو، افزودن به سبد، تسویهحساب. اجزای تکرارشونده مثل ناوبری، سربرگ، فیلترها، جدولها و مودالها را به صورت component objectهای قابلاستفادهمجدد جدا کنید.
قانون سرانگشتی این است که تعداد Page Objects را نه با تعداد صفحات، بلکه با انسجام مسئولیتها و میزان تغییرپذیری تعیین کنید: گاهی یک صفحه به چند object کوچکتر (فرم، لیست، ویجت سبد) نیاز دارد، و گاهی چند صفحه با رفتار مشابه یک object مشترک را به اشتراک میگذارند. نامگذاری را هدفمحور کنید و جزییات تعاملی و locatorهای پایدار را در خود Page Objects نگه دارید تا تستها در سطح دامنهٔ کسبوکار بیان شوند. از الگوهای مکمل مثل Screenplay Pattern هم میتوان در دامنههای پیچیده بهره گرفت.
نتیجه اینکه عدد «۱۰۰» پاسخی ندارد؛ معیار واقعی، نگهداشتپذیری و کاهش اثر موجی تغییرات UI است. پیام اصلی Đinh Công Cảnh درباره شمردن objectها نیست، بلکه ساختن انتزاعهای درست است تا تستها سریعتر تغییر کنند، واضحتر بمانند و سختتر بشکنند.
#PageObjects #TestAutomation #UITesting #DesignPatterns #Selenium #QA #SoftwareTesting #Maintainability
🟣لینک مقاله:
https://cur.at/vvybnfG?m=web
➖➖➖➖➖➖➖➖
👑 @software_Labdon
Medium
If you have 100 pages, do you create 100 Page Objects?
An interview question you may encounter