فهرست مندرجات[پنهان شدن][نمایش]
هر تیم توسعه وب مجموعه ای از آزمایش ها را روی محصولات خود انجام می دهد، اما راه حل وب که بعدا ارائه می شود دارای نقص هایی است.
حتی با بهترین تستهای دستی، علیرغم تلاشهای تیم QA برای شناسایی آنها قبل از انتشار، ناگزیر نقصها وارد میشوند و دوباره ظاهر میشوند.
وقتی صحبت از افزایش کارایی و دامنه تست نرم افزار شما می شود، تست وب خودکار بهترین انتخاب شماست.
برای تست آنلاین، پایتون زبان برنامه نویسی یک چارچوب روباتی ارائه می دهد که می تواند از کتابخانه های خارجی مانند سلنیوم استفاده کند.
در این پست، موارد تست و سایر اصطلاحات مرتبط با چارچوب ربات پایتون را بررسی خواهیم کرد.
چارچوب ربات چیست؟
چارچوب ربات یک چارچوب اتوماسیون عمومی منبع باز منعطف است که در پایتون نوشته شده است که برای تست نرم افزار خودکار، اتوماسیون فرآیند روباتیک، تست پذیرش و توسعه مبتنی بر آزمون پذیرش استفاده می شود.
به عبارت ساده، یک چارچوب اتوماسیون تست مبتنی بر کلمه کلیدی مبتنی بر پایتون است.
این آزمایشکنندگان را قادر میسازد تا اسکریپتهای فرآیند پیچیده را به طور کارآمدی خودکار و نگهداری کنند. از این فریم ورک می توان برای آزمایش رابط های کاربری و رابط های برنامه نویسی کاربردی استفاده کرد.
این به مهندسان آزمایش اجازه می دهد تا از سلنیوم علاوه بر ادغام های متعدد دیگر استفاده کنند. سلنیوم یک ابزار استاندارد صنعتی برای خودکارسازی رفتار کاربر و اسکریپت نویسی تعاملات مرورگر وب مبتنی بر کاربر برای هر وب سایتی است.
آزمون پذیرش چیست؟
این راهی برای تعیین ظرفیت یک سیستم است. هدف از آزمون پذیرش، ارزیابی قابلیت های یک سیستم در رابطه با نیازهای تجاری است.
اتوماسیون فرآیند رباتیک چیست؟
RPA یا اتوماسیون فرآیند روباتیک، روشی برای به حداقل رساندن نیروی انسانی از طریق استفاده از نرم افزاری است که شامل فراگیری ماشین و قابلیت های هوش مصنوعی RPA برای خودکارسازی فرآیندهای سطح بالا و تکراری استفاده می شود.
توسعه مبتنی بر آزمون پذیرش چیست؟
توسعه مبتنی بر آزمون پذیرش، که اغلب به عنوان ATDD شناخته می شود، یک تکنیک توسعه است که بر ارتباط بین مشتریان تجاری، توسعه دهندگان و آزمایش کنندگان متکی است. آنها قبل از به کارگیری این ویژگی با یکدیگر همکاری می کنند و آزمایش پذیرش انجام می دهند.
چارچوب ربات - معماری سطح بالا
Robot Framework فریم ورکی است که کاربرد و فناوری را ناشناس است. همانطور که در تصویر زیر مشاهده می کنید، معماری آن بسیار مدولار است.
داده های آزمون در قالب جدولی ساده و قابل ویرایش ارائه شده است. Robot Framework داده ها را تجزیه و تحلیل می کند، موارد آزمایشی را انجام می دهد و هنگام شروع کار، گزارش ها و گزارش ها را ایجاد می کند.
چارچوب اصلی هیچ شناختی از هدف مورد آزمایش ندارد و کتابخانه ها تمام تعاملات با آن را مدیریت می کنند. کتابخانهها میتوانند از ابزارهای تست سطح پایینتر به عنوان درایورها استفاده کنند یا مستقیماً از رابطهای برنامه کاربردی استفاده کنند.
امکانات
- با اجازه دادن به تست اتوماسیون برای انواع مختلف، تست مبتنی بر داده را تسهیل می کند انواع داده ها.
- از استفاده از مقادیر قابل توجهی کد اجتناب می کند و در عوض از یک استراتژی تست رفتار محور استفاده می کند.
- می تواند با کتابخانه ها و عملکردهای اشخاص ثالث کار کند.
- کلمات کلیدی (از پیش تعریف شده یا تعریف شده توسط کاربر) به سبک جدولی برای نوشتن موارد آزمایشی استفاده می شوند.
- کاربران می توانند کلمات کلیدی ایجاد کنند.
- متغیرها مجاز به استفاده هستند.
- چارچوب از یک روش مبتنی بر کلمه کلیدی استفاده می کند که در آن اسکریپت ها با استفاده از اصطلاحات کوچک و به راحتی قابل درک (از پیش تعریف شده یا تعریف شده توسط کاربر) نوشته می شوند.
- پس از هر ساخت، گزارش ها،
- و لاگ ایجاد می شود.
- گزارشها و گزارشهای کاملی از وضعیت اجرای اسکریپت ایجاد میکند، که بهویژه در صورت شکست اسکریپت مفید است.
آموزش چارچوب ربات
بیایید شیرجه برویم
1. نصب چارچوب ربات
بسته pip برای نصب چارچوب ربات در پایتون پیشنهاد می شود. برای نصب فریمورک دستور زیر را اجرا کنید.
شما باید بتوانید هر دو نسخه مفسر و چارچوب ربات را پس از نصب موفقیت آمیز با استفاده از گزینه -version مشاهده کنید.
2. کتابخانه ها
- Builtin – این یک کتابخانه استاندارد است که شامل مجموعه ای از کلمات کلیدی رایج است که به طور خودکار وارد می شوند و همیشه در دسترس هستند.
- مجموعه – مجموعه ای از کلمات کلیدی را برای کار با لیست ها و دیکشنری های پایتون فراهم می کند. از کلمات کلیدی کتابخانه می توان برای تغییر و ایجاد مقادیر از فهرست ها و فرهنگ لغت استفاده کرد.
- دیالوگ ها - یک کتابخانه استاندارد برای توقف اجرا و گرفتن بازخورد کاربر. بسته به اینکه آیا تست ها در حال اجرا هستند، گفتگوها کمی ناسازگار هستند.
- DateTime شما را قادر می سازد اطلاعات تاریخ و زمان را تولید و تغییر دهید.
- سیستم عامل – چارچوب ربات را قادر می سازد تا در حین اجرا، انواع وظایف مربوط به سیستم عامل را در سیستم انجام دهد. از جمله میتواند دستورالعملها را انجام دهد و مستقیماً دادهها را تولید و اصلاح کند.
- Process – این کتابخانه برای اجرای فرآیندها با استفاده از زیر ماژول های پایتون و کلاس باز استفاده می شود. کلمه کلیدی run process برای منتظر ماندن برای یک فرآیند در حال اجرا در سیستم و کامپایل آن استفاده می شود.
- XML همچنین یک کتابخانه متنی است که توسط چارچوب روبات برای تأیید و اصلاح اسناد XML استفاده می شود.
- رشته بسته ای برای دستکاری و اعتبارسنجی رشته ها است.
- Telnet اعمال می شود که به شما امکان می دهد از طریق telnet تعامل داشته باشید. کتابخانه telnet به شما این امکان را می دهد که از طریق یک اتصال معمولی TCP/IP به یک سرور تلنت متصل شوید و دستورات را انجام دهید.
3. ابزار داخلی
در چارچوب ربات، در درجه اول چهار ابزار داخلی وجود دارد که استفاده می شود:
- Rebot – ابزاری برای ایجاد گزارشها و گزارشها از خروجی XML و ادغام چندین خروجی به طور همزمان.
- Testdoc - بر اساس موارد آزمایشی، Robot Framework اسناد HTML سطح بالا را ایجاد می کند.
- Libdoc - تولید کننده اسناد کلیدواژه برای کتابخانه ها و فایل های منبع.
- Tidy – Robot Framework Tools برای تمیز کردن و تبدیل فایل های داده به فرمت های مختلف.
4. موارد تست
به جای موارد تست خودکار، موارد تست در چارچوب ربات را می توان به زبان انگلیسی پایه نوشت. برای طبقه بندی سناریوهای آزمون می توان از آزمون های زیر استفاده کرد.
- تست های گردش کار
- آزمون های سطح بالاتر
- تست های داده محور
تست های گردش کار
موارد تست چارچوب ربات اغلب به صورت جدولی نوشته می شود. ستون اول جدول مورد آزمایشی شامل نامهای آزمایشی است و مورد آزمایشی با هر چیزی در ستون شروع میشود و با نام مورد آزمایشی بعدی یا انتهای جدول پایان مییابد.
بیایید نگاهی به یک مثال در دنیای واقعی بیاندازیم تا بفهمیم این چگونه کار می کند.
- کاربر می تواند یک حساب کاربری ایجاد کند و وارد شود.
- در صورت نادرست بودن رمز عبور، کاربر قادر به ورود به سیستم نخواهد بود.
آزمون های سطح بالا
ستون دوم معمولاً شامل نام کلمه کلیدی است، به استثنای تنظیم متغیرها با مقادیر نوشته شده با کلمه کلیدی.
موارد تست چارچوب ربات را می توان تنها با استفاده از کلمات کلیدی سطح بالا و بدون پارامترهای موقعیتی ساخت. برای درک بیشتر تست سطح بالا، مثال زیر را در نظر بگیرید.
تست های داده محور
تست داده محور به جای شبیه سازی رویه ها، داده های تست را جدا می کند. در چارچوب ربات، تنظیمات [قالب] مورد آزمایشی را برای یک آزمون مبتنی بر داده تعریف میکند.
5. کلمات کلیدی
برای ساخت موارد آزمایشی در چارچوب ربات، از کلمات کلیدی از دو منبع استفاده می شود.
- کلمات کلیدی برای کتابخانه
- کلمات کلیدی برای کاربر
کلمات کلیدی برای کتابخانه
کتابخانه های استاندارد تمام اصطلاحات سطح پایین را تعریف می کنند که ممکن است با استفاده از زبان های کامپیوتری مانند پیاده سازی شوند پایتون و جاوا.
کتابخانه های استاندارد، خارجی و سفارشی از جمله کتابخانه های آزمایشی موجود با چارچوب ربات هستند. چارچوب اصلی شامل کتابخانه های داخلی، اسکرین شات، سیستم عامل و سایر کتابخانه های استاندارد است.
کلمات کلیدی برای کاربر
ظرفیت تولید کلمات کلیدی منحصر به فرد سطح بالا از عبارات موجود یکی از مهمترین ویژگی های طراحی ربات است. برای درک بیشتر نحوه کار، اجازه دهید به یک مثال نگاه کنیم.
6. متغیرها
متغیرها بخش مهمی از هر تست در چارچوب ربات هستند. متغیر یک رویکرد عالی برای مشخص کردن هر داده در یک مورد آزمایشی است که در معرض تغییر یا تغییرپذیری است.
بیایید نگاهی به نحوه تعریف متغیرها در یک مورد آزمایشی بیندازیم.
تعیین متغیرها
جدا از متغیرهای تعریف شده توسط کاربر، چارچوب ربات دارای متغیرهای داخلی مانند $TEMPDIR و $/ است که در مثال قبلی استفاده کردیم.
استفاده از متغیرها
متغیرها را می توان در هر نقطه از تست مورد استفاده قرار داد.
با این حال، آنها بیشتر به عنوان آرگومان های کلمه کلیدی استفاده می شوند. مثال زیر را در نظر بگیرید تا منظور من را روشن کنید.
7. سازماندهی موارد آزمون
فایلهای مورد آزمایشی برای ساختن کیسهای آزمایشی ربات استفاده میشوند، اما میتوان آنها را نیز در دایرکتوریها گروهبندی کرد تا یک سلسلهمراتب مجموعه آزمایشی ایجاد شود. مجموعه آزمایشی مجموعه ای از موارد آزمایشی است. یک مجموعه آزمایشی از تمام فایلهای حاوی موارد آزمایشی تشکیل شده است.
با استفاده از دایرکتوری ها، موارد تست را می توان در یک سلسله مراتب ساختار داد. همه این دایرکتوری ها مجموعه های تست سطح بالایی را با نام هایی که از نام دایرکتوری ها مشتق شده اند ارائه می کنند.
با استفاده از تنظیمات و حذف
گزینه های "Test Setup" و "Test Teardown" جدول تنظیمات را می توان برای اجرای یک کلمه کلیدی خاص در تست قبل یا بعد از اتمام آن استفاده کرد. همچنین میتوانید از «Suite Setup» و «Suite Teardown» برای اجرای کلمات کلیدی قبل یا بعد از مجموعه آزمایشی استفاده کنید.
میتوانید [Setup] و [Teardown] سفارشی را در یک مورد آزمایشی، مشابه [Template] ایجاد کنید. برای درک بهتر این سناریوی زیر را در نظر بگیرید.
استفاده از برچسب ها
چارچوب ربات اجازه می دهد تا از برچسب ها برای ارائه فراداده رایگان برای آزمایش موارد استفاده شود. "برچسب های اجباری" و "برچسب های پیش فرض" را می توان برای تنظیم برچسب ها در یک فایل استفاده کرد. [برچسب ها]، مانند [Template]، می توانند برای اختصاص برچسب ها به یک مورد آزمایشی استفاده شوند. بیایید به یک مثال نگاه کنیم تا ببینیم چگونه از برچسب ها استفاده می کنیم.
این گزارش شامل برچسب هایی با موارد آزمایشی مرتبط با آنها و همچنین آمار بر اساس برچسب ها، پس از اجرا خواهد بود.
مزایا
- راه اندازی Robot Framework آسان است.
- این مبتنی بر استفاده از کلمات کلیدی است.
- این به شما امکان می دهد از Gherkin استفاده کنید.
- با هر دو کار می کند برنامه های موبایل و مبتنی بر وب.
- درک اصول Robot Framework آسان است.
- از یک رویکرد کم کد استفاده می کند.
- Windows، Mac OS X، Unix و Linux همگی پشتیبانی می شوند.
- Python، IronPython و PyPy همگی زبان های برنامه نویسی پشتیبانی شده هستند.
- با تمام مرورگرهای وب اصلی کار می کند.
- Robot Framework یک ابزار اتوماسیون رایگان و منبع باز است.
منفی
- اجرای آزمایش موازی توسط Robot Framework پشتیبانی نمی شود.
- همگام شدن با Robot Framework دشوار است.
- تغییر گزارشهای HTML در Robot Framework دشوار است.
- اشکال زدایی برخی از مسائل چارچوب Robot ممکن است مشکل باشد.
- تورفتگی در Robot Framework به شدت اعمال می شود.
نتیجه
پلتفرم روبات یک چارچوب توسعه مبتنی بر آزمون پذیرش و آزمایش پذیرش رایگان و منبع باز است.
موارد تست چارچوب ربات بر اساس کلمات کلیدی بیان شده به سبک جدولی ساخته شده اند که درک آنها را آسان می کند و اطلاعات دقیقی در مورد معنای مورد آزمایشی ارائه می دهد.
استفاده از آن واقعا راحت و ساده است.
برخی از شما قبلاً از آن استفاده کردهاید، بنابراین اگر آزمایشهای خود را راهاندازی کردهاید و برنامه Android/ios خود را آماده کردهاید، آن را امتحان کنید.
از اینکه چقدر کارها خوب پیش می رود و چقدر زود می توان آزمون پذیرش را تکمیل کرد، شگفت زده خواهید شد.
پاسخ دهید