مواردی که در ویدئو مقابل میتوانید ببینید
- آموزش نحوه ضبط دستور Set text در برنامه ضبط کننده
- آموزش نحوه ضبط دستور Check control status text در برنامه ضبط کننده
- آموزش نحوه ایجاد و استفاده از متغییرهای عددی
- آموزش نحوه استفاده از اکشن Number to text
- آموزش نحوه استفاده از دستور Set text در برنامه ویراستار
- آموزش نحوه استفاده از دستور Check control status text در برنامه ویراستار
- آموزش کاربرد و نحوه استفاده از دستور Change Text
- آموزش کاربرد و نحوه استفاده از دستور Check Number
- آموزش کاربرد و نحوه استفاده از دستور Increase Number
- آموزش یکی از روش های ایجاد حلقه تکرار به کمک دستور Check Number و Increase Number
- آموزش نحوه استفاده و تغییر نام متغییرهای متنی در برنامه ویراستار
- آموزش نحوه استفاده از برنامه ویراستار برای اضافه کردن اکشن (open program/file)
- آموزش نحوه فراخوانی فایل در مبدا و مقصد به کمک متغییرهای از پیش تعریف شده در برنامه ویراستار
متن ویدئو بالا
در این فیلم میخوام بهتون نشون بدم که چطور میشه فرایند زمان بر تست نرمافزار به کمک ربات کاربر مجازی خودکار سازی کرد بطوری که دیگه نیاز نباشه کلیه زمان مورد نیاز برای تست رو خودم پشت سیستم حضور داشته باشم
من یک برنامه مسیریاب طراحی کردم که یک تعداد شهر رو به عنوان ورودی دریافت میکند و با بررسی فاصله بین اونها کوتاهترین مسیر برای رسیدن به این شهرهارو بهم نشون میده طی کردن یک مرحله ازین تست چندان سخت به نظر نمیرسد ولی زمانی که قرار باشد تعداد زیادی از شهرهارو بررسی کنم این فرایند تکراری ساعتها طول میکشد
برای همین قصد دارم انجام مراحل رو با کمک ربات کاربر مجازی خودکار سازی کنم در واقع میخوام مراحل تست یک شهر رو بهش یاد بدم تا بتونه برای تعداد شهرهای بیشتر که ممکن خیلی زمان بر باشه خودش اینکارو برای من انجام بده
قبل از هرچیزی اجازه بدید بهتون نشون بدم که چه تستی رو میخوام خودکار سازی کنم ، تست من اینه که برنامه مسیریاب تعداد شهر موردنظر برای تست رو درج کنم و گزینههای مربوط به تست رو بزنم تا تست اغاز شه بعد از اینکه برنامه کارشو انجام داد نتایج جستجو را با کلیک بر روی ذخیره مسیر تو محل موردنظر save کنم
برای اینکه کاربر مجازی فرایند تست رو از من یاد بگیره باید یکبار این فرایند رو جلوی چشم ربات ضبط کننده کاربر مجازی انجام بدم ، برنامه مسیریاب رو اجرا میکنم بعدش ربات ضبط کننده رو اجرا میکنم و اون رو در حالت ضبط قرار میدم تو این حالت من هرکاری با موس و کیبرد انجام بدم ثبت و ضبط میشه
در برنامه مسیریاب در قسمت شهرها داخل editbox کلیک میکنم میبینیم که فرمان mouse command1 توسط ربات ضبط کننده ضبط شده حین اینکه اشارگر موس ام رو روی editbox نگه داشتم کلید f6 رو از روی کیبرد فشار میدم تا فرمان set text into window control به معنی درج متن ثبت بشه این یه ترفنده که باهاش میشه بعدا تعداد شهرهارو تعیین کرد و افزایش داد در ادامه بهتون نشون میدم که چطور میشه اینکارو انجام داد
روی دکمه ایجاد مسیر تصادفی کلیک میکنم تا مجموعه شهرهای انتخاب شده ایجاد بشه محدوده زمانی را مشخص میکنم وحالا باید روی دکمه جستجو مسیر جامع کلیک کنم وقتی روی جست جو کلیک کنم جستجو شروع میشود و نوار پیشرفت هم نمایان میشود زمانی که پیشرفت کار به پایان میرسه یعنی جستجو انجام شده پس با بررسی وضعیت کنترل نوار پیشرفت میشه فهمید که عملیات جستجو مسیر انجام شده یا نه به همین منظور بر روی شناسایی وضعیت این کنترل حین اینکه اشارگر ماوسم روی اون هس کلید F9 رو از روی کیبرد میزنم حالا اگه به کنسول ربات ضبط کننده دقت کنید میبینیم که دستور check control status به معنی بررسی وضعیت دکمهها و کنترلها ذخیره شده
این یک ترفنده که میتونه تعیین بکنه این دکمه نمایان هس یا نه در ادامه بیشتر در موردش توضیح میدم ، ضبط رو ادامه میدم ودر نهایت روی دکمه ذخیره مسیر کلیک میکنم توی صفحه باز شده روی مسیر ذخیره کلیک میکنم وهمینطور که اشاره گر موسم روی ان قرار گرفته کلید f6 رو فشار میدم دوباره دستور set text ذخیره میشه یبار همون اول هم اینکارو برای تعداد شهرها انجام دادم ثبت رو موقتا متوقف میکنم تا نوشتههایی که خودم با کیبرد تایپ میکنم فعلا ضبط نشه چون قصد دارم از دستور set text تو این قسمت استفاده بکنم
حالا یه اسم به عنوان نمونه وارد میکنم برمیگردم و دکمه ادامه دادن ضبط رو میزنم در نهایت روی دکمه save کلیک میکنم خب ضبط دستورات به پایان رسیده ضبط ومتوقف میکنم ودستورات ضبط شده رو در قالب یک فایل روی دستکاپم روی فولدر برنامه مسیریاب save میکنم اسمش رو هم مسیریاب میزارم اگه به فولدر برنامه مسیریابم برم میبینیم که دو فایل جدید ایجاد شده یکی با پسوند vum که حاوی دستورات ضبط شدس و بهش اصطلاحا ماکرو هم میگن و دیگری با پسوند rImages که حاوی اسکرین شاتهای برنامه ضبط کننده در زمان ضبط هر دستور
دیگه با برنامه مسیریاب و ربات ضبط کننده کاری نداریم و میتونیم ببندیمشون ، همونطور که درطی فرایند ضبط دیدیم تنظیم برخی دستورات رو به بعد موکول کردم وگفتم بیشتر بهتون توضیح میدم
برای تنظیم و سفارشی سازی دستواری ضبط شده باید از برنامه ویراستار برنامه کاربر مجازی کمک بگیریم بنابراین میرم سراغ برنامه ویراستار و فایل ماکروم رو داخلش باز میکنم همونطور که میبینید دستورات ضبط شده در وسط صفحه ویراستار نمایش داده میشن با انتخاب هر دستور میشه اسکرین شات مربوط به همون دستور رو پایین صفحه دید اینها همون تصاویری هستن که در فایل rImages ذخیره شدند
ازونجایی که در ابتدای تست برنامه میخواستم تعداد شهرهای موردنظر رو با کمک کاربر مجازی وارد کنم در edit box تعداد شهر از دستور set text به معنی درج متن استفاده کرده بودم که در اینجا ملاحظه میکنید
کار این دستور قرار دادن یک متن داخل فیلدهاست برای ویرایش روی ان دابل کلیک میکنم ، دراین کادر دوقسمت برای تنظیم پارامترهای اکشن وجود دارد در بالا کنترل هدف و در پایین متغیر متنی
کنترل هدف من edit box است که باید تعداد شهرهارا وارد کنیم چون زمانی که روی edit boxبودم کلید f6 رو زدم ربات ضبط کننده به طور خودکار و هوشمندانه این هدف رو شناسایی کرده و برای من ذخیره کرده همزمان با ضبط این دستور بطور خودکار یک متغیر هم ساخته شده که اسمش set text0 است حالا میشه اسم این متغیر رو به دلخواه عوض کرد تا در روند تنظیم قابل درکتر باشد میشه متنش رو هم متن دلخواه خودم قرار بدم set text0 معنی و مفهوم واضحی نداره اسمش رو city text var به معنی متغیر متنی شهر میزارم ومتن پیش فرضش رو فعلا خالی میزارم وتایید میزارم
میبینیم که توی اکشن هم اسم متغیر متنیمون نمایان شد بطورکل اکشن set text محتوای city text var رو درجایی که مشخص کردم درج میکنم اما برای اینکه این متغیر متنی بتونه تعداد شهرهای موردنظر من رو به درستی درج بکنه از یه متغیر عددی هم باید استفاده بکنه
چون در قصد دارم کاری کنم که تعداد شهرها به طور خودکار افزایش پیدا کنه نمیشه فقط با استفاده از متغیر متنی اینکارو انجام داد از کادر سمت راست در قسمت متغیرها به متغیرهای numeric میرم و درج رو میزنم
اسمش رو city-digit-var به معنی متغیر شماره شهر میزارم حالا مقداری که در قسمت پایین وارد میکنم عددی خواهد بود که قصد دارم در edit box تعداد شهرها وارد بشه مقدارش رو 10 وارد میکنم
حالا یه متغیر عددی با نام city-digit-var داریم و یک متغیر با نام city-text- var ، باید کاری کنم که متغیر عددی من به یه متغیر متنی تبدیل بشه تا توسط اکشن set-text قابل پیاده سازی باشه
برای اینکار از اکشن number to text به معنی تبدیل عدد به متن استفاده میکنم به قسمت اکشنهای numeric میرم و اکشن number to text رو با موس به یه مرحله قبل از set text میکشم برای ویرایش پارامترهای این اکشن در بالا متغیر عددی خودم رو که همون city-digit-var هست رو وارد میکنم و در پایین هم متغر متنی یعنی city-text-var تایید رومیزنم
میبینیم که اکشن number to text بالای set text قرار گرفته بنابراین متغیر عددی ما به یک متغیر متنی تبدیل میشه و در مرحله بعد توسط اکشن set text تو باکس موردنظرمون درج میشه
به اکشن check control status به معنی بررسی وضعیت دکمه میرسیم درمراحل ضبط برای شناسایی وضعیت نوار پیشرفت با فشردن کلید f9 این اکشن رو ثبت کردم و گفته بودم درموردش بهتون بیشتر توضیح میدم
وقتی جستجو شروع بشه این نوار یا کنترل ظاهر میشه و زمانی که جستجو به پایان برسه این کنترل هم محو میشه حالا اهیمت محو یا ظاهر بودن نوار کنترل اینه که میشه این وضعیت رو نشونه ای در نظر گرفت تاربات کاربر مجازی ازین طریق بفهمه که جستجو به پایان رسیده یا نه
چون اگه این مسئله رو به رباتمون یاد ندیم کاربر مجازی قبل از اینکه فرایند حصول نتیجه تموم شده باشه دکمه ذخیره مسیر که مرحله بعدی کارش هس رو بدون معطلی میزنه و کار خراب میشه
اکشن check control status میتونه ویژگیهایی مثل محو و ظاهرشدن فعال و غیرفعال شدن کنترل هارو تشخیص بده برای ویرایش اکشن check control status روش دابل کلیک کنید
میبینیم که در همین قسمت ابتدایی میشه با توجه به وضعیت موردنظر شرطی رو اعمال کرد تا ربات اجرا کننده از ان پیروی کند وضعیت موردنظر من زمانی که کنترل نوار پیشرفت رفع بشه پس وضعیتی که باید چک بشه روی حالت invisible به معنی محو شدن میزارم
این ینی که ربات اجرا کننده بعد از نمایان شدن نوار پیشرفت انقدر منتظر میمونه که تا پیشرفت به 100درصد برسه و این کنترل محو بشه حالا باید مشخص کنیم بعد از اینکه جستجو به پایان رسید ربات اجرا کننده نتایج جستجو را کجا و با چه نامی ذخیره کنه
اینجا یک اکشن set text میبینیم من این اکشن رو زمانی که روی پنجره ذخیره فایل بودم با کلید f6 ذخیره کردم تا در اینجا اون رو ویرایش کنم حین فرایند ضبط زمانی که روی مسیر ذخیره فایل بودم دستور set text رو ذخیره کردم و متغیر set text 0 برای من ایجاد شد
برای ویرایش این متغیر روش دابل کلیک میکنم و اسمش رو به save-path-var به معنی تغیر مسیر ذخیره تغییر میدم و محتواش رو پاک میکنم الان بهتون نشون میدم که میخوام با این متغیر چکار کنم
میخوام اینجا یک ترفند جالب رو بهتون نشون بدم و شمارو با یه سری امکانات دیگه کاربر مجازی اشنا کنم به قسمت اکشنها میرم و از داخل اکشنهای متنی اکشن change text رو به معنی تغییر متن با موس به یه مرحله قبل set text میکشیم
کار این اکشن تغییر متن یا ایجاد متن جدید در متغیر متنی ، میخوام کاری بکنم که فایل نتایج جستجو با عنوان تعداد شهرها به مسیری که من میخوام بره در قسمت ویرایش متغیر متنی مسیر ذخیره رو در بالا انتخاب میکنم این متغیر در واقع محل ذخیره فایل نتایج جستجو, در قسمت پایین میشه مسیر یا متن جدیدی را وارد کرد میتونیم هر متغیری رو اینجا وارد کنیم vum file path رو انتخاب میکنم که همون مسیریه که فایل ماکرو انجا قرار دارد و یک بکاسلش هم میزنیم چون میخوام اسمی که تو این مسیر ذخیره میشه مطابق با تعداد شهرهایی باشه که در ابتدا جستجو وارد میشه
بعد بکاسلش متغیر تعداد شهر ورودی رو انتخاب میکنم که در واقع همون city-text-var هس یک txt در انتها وارد میکنم حالا عملکرد این اکشن اینطور شده است که ادرس جدیدی که در پایین وارد کردیم رو در مسیر متغیر save-path-var وارد میکنیم
اجازه بدید به اکشن set text هم نگاهی بندازیم , بله میبینید که متغیری که اینجا انتخاب شده متغیر save-path-var هس که در مرحله قبل محتواش رو به کمک اکشن change text تغییر داد
تا اینجای کار دستورات یکبار انجام میشوند و به پایان میرسند, ماکرو را save میکنم و یکبار ازمایش میکنم ببینم مراحل به درستی انجام میشه یا نه , فایل ماکرو را میکشم روی ربات اجرا کننده و برنامه رو اجرا میکنم
همونطور که دیدید مراحل تست نرمافزار مسیریاب یکبار بطور کامل انجام شد و نتیجه تست در فایل 10.txt در پوشه مربوطه ذخیره شد
حالا میخوام کاری بکنم که کاربر مجازی فرایند تست رو ادامه بده و هربار تعداد شهر رو خودش یکی اضافه بکنه و نتیجه روبرام ذخیره کنه دوباره فایل ماکرو رو روی برنامه ویراستار میکشم به قسمت اکشنها میرم و اکشن check number به معنی بررسی شماره رو به انتهای دستورات میکشم
کار این اکشن بررسی مقدار یک عدد با این اکشن میشه تعیین کرد که در صورت کوچکتر مساوی و یا بزرگتر بودن عدد موردنظر اکشن چه عملکردی رو داشته باشه با کمک این اکشن میخوام کاری بکنم که کاربر مجازی بتونه عدد ورودی برای تعداد شهرهارو بررسی کنه و تا زمانی که به عدد تعداد شهر موردنظرم نرسید فرایند تست ادامه پیدا کنه در قسمت target متغیر عددی موردنظرم رو انتخاب میکنم که در واقع همون تعداد شهرها هستند در پایین هم باید سقف تعداد شهری که میخوام به این تعداد برسه رو وارد کنم
تعداد شهر ورودی رو در مرجله اول 10 داده بودیم حالا دو مرتبه بالاترشو به عنوان نمونه 12 وارد میکنیم و در کنارش شرط برابریا کوچکتر باشد رو انتخاب میکنیم تا اینجا شرط فرض رو مشخص کردیم که به صورت ساده میگه اگه عدد تعداد شهرها کوچکتر یا مساوی 12 باشد چه اتفاقی بیافتد حالا باید تعیین کنیم که در صورت رسیدن تعداد شهر تست به عدد 12 ربات اجرا کننده چه عملکردی داشته باشد
در قسمت پایین و سمت چپ این کادر روی تنظیمات نتایج اجرا کلیک میکنیم اینجا میتونیم مشخص کنیم در قبال موفقیت یا خطا در اجرای این اکشن کاربر مجازی چه عملکردی داشته باشد
تنظیمات نتایج اجرا رو اینطور پیاده سازی میکنم که درکنار اجرای عبارت موفق پرش رو فعال میکنم و دستوری و که کاربر مجازی باید به ان برسه رو مشخص میکنم به لیست دستورات نگاه میکنم و میبینیم که دستور خط دو شروع مراحل text پس عدد پرش رو به خط دو تغییر میدیم و در کنار عبارت بروز خطا پرش به اخر رو save میکنم و در نهایت تایید رو میزنم
با این کار تا زمانی که عدد تعداد شهرها به 12 نرسیده باشه کاربر مجازی به ابتدای دستورات برمیگرده حالا باید کاری بکنم که شماره تعداد شهرها تو هر چرخه از تست یک عدد بالاتر بره به قسمت اکشنها میرم و اکشن Increase number به معنی افزایش شماره به یه مرحله قبل انجام اکشن check number میبرم برای ویرایش این اکشن متغیر عددیم رو وارد میکنم که در حقیقت همون تعداد شهر ها هستن
در پایین یه تنظیم با نام increase by قابل مشاهده است بصورت پیشفرض عدد یک براش لحاظ شده این یعنی هر متغیر عدد که در بالا انتخاب کردم با این اکشن یه عدد بهش اضافه میشه اینکار هم انجام شد
حالا ازمایش میکنم ببینم چه اتفاقی میافته اجازه بدید قبلش فایلهای ایجاد شده رو حذف کنم بله همینطور که مشاهده میکنید کاربر مجازی تعداد شهرها رو دونه دونه افزایش میده و نتیجه رو save میکنه
همونطور که ملاحظه کردید در نهایت تست عملکرد برنامه مسیریاب بطور کامل توسط ربات کاربر مجازی خودکار سازی شده و تست هر تعداد شهر که مورد نیاز باشه بطور خودکار بررسی میشه و نتایج تست هر چقدم که زمانبر باشه در نهایت بطور خودکار ذخیره میشه