AutomationCamp
1.24K subscribers
22 photos
4 videos
5 files
82 links
Download Telegram
دوستان عزیزم سلام!

آموزش کامل Appium (ابزار تست اتومیشن موبایل) شروع شد و چهار قسمت اون منتشر و آماده مشاهده س!

کی گفته هر چیزی که کامل و پریمیوم باشه باید پولی باشه؟ یا مثلا یه قسمت ببینیم برای بقیه ش بریم دوره بخریم یا کلاس آنلاین شرکت کنیم؟ اون زمان گذشت و الان محتوای آزاد و کامل در دسترس همه هست. شاید فقط به زبان شیرین پارسی نباشه. البته برای اتومیشن حالا دیگه هست و تا به این لحظه حدود 50 ساعت آموزش در قالب 75 ویدئو که ضبط و ویرایش هرکدوم بعضی وقتا چند روز زمان برده در AutomationCamp منتشر شده!

این آموزش هم با انگیزه حمایت از کامیونیتی تست با تمام جزئیات ممکن و کوچکترین نکات تجربی که در طول این سال ها نسبت به Appium به دست آوردم ایجاد و منتشر میشه. و مثل همیشه کاملا رایگان در اختیار شماست. یعنی یه جوری از بنیان دارم همه چیز رو میگم که بشینه تو DNA 😉

1️⃣ قسمت اول (آشنایی و معرفی):
🔹 دسته بندی ابزارهای اتومیشن
🔹 اکوسیستم وب درایور و جایگاه Appium در آن
🔹 آرکیتکچر Appium

2️⃣ قسمت دوم (نصب و آماده سازی سیستم):
🔹 نصب پایتون، جاوا، NodeJS و IDE
🔹 نصب اندروید استودیو و SDK اندروید
🔹 نصب امولاتور
🔹 ایجاد AVD (امولاتور اندروید استودیو)
🔹 اتصال به دستگاه موبایل واقعی و تنظیمات لازم
🔹 تعریف Env Variables ها مثل ANDROID_HOME و JAVA_HOME
🔹 اجرای AVD از طریق CLI
🔹 تفاوت بین Appium 2 و Appium 1
🔹 Appium Server
🔹 Appium Driver
🔹 Appium Inspector
🔹 Appium Doctor
🔹 Appium-Python-Client

3️⃣ قسمت سوم (آشنایی با برخی مباحث ضروری):
🔹 آنالیز فایل APK و اجزای AndroidManifext.xml
🔹 packageName / activityName
🔹 Android SDK Version (API Level)
🔹 ADB & ADB shell (Android Debug Bridge)
🔹 Package Viewer (APK Info)
🔹 Desired Capabilities (Session & Appium)

4️⃣ قسمت چهارم (اولین تست):
🔹 بهینه سازی مصرف RAM
🔹 اجرای امولاتور
🔹 پیدا کردن packageName و activityName
🔹 اجرای Appium Server و Appium Inspector
🔹 آشنایی با ابزارهای مختلف Appium Inspector
🔹 لوکیت کردن المنت ها با Inspector
🔹 اجرای سناریوی تست

امیدوارم که مفید واقع بشه. خوشحال میشم که نظرات سازنده شما رو هم بدونم.

https://www.youtube.com/playlist?list=PLKp9IFVoltbCroq54kRQ0NvBmd-DLLLnR

تلگرام اتومیشن کمپ:
https://t.me/automationcamp

ممنون از توجه تون – به امید آزادی ایران 🕊️


#qa #qaautomation #test #testautomation #appium #softwaretesting #sqa #تست #اتومیشن #اپیوم #mobileautomation #automationcamp
دوستان عزیزم سلام!
با قسمت پنجم آموزش Appium در خدمتتون هستم. امروز میخوایم تست ها رو روی مرورگر موبایل اجرا کنیم. یعنی همون کاری که با سلنیوم تو دسکتاپ انجام میدیم رو بیایم این دفعه تو کروم موبایل انجام بدیم. همچنین لاگ های اپیوم رو آنالیز میکنیم، روش های مختلف پاس دادن باینری درایور و دانلود خودکارش رو یاد میگیریم، با پروژه Chrome For Testing گوگل آشنا میشیم و کلی نکته که سعی کردم ضمیمه کنم.
در آخر هم یه ابزار باحال از DevTools رو یاد میگیریم که همه اینا نصیب کسی میشه که ویدئو رو کامل ببینه!
امیدوارم که مفید واقع بشه. خوشحال میشم نظرات سازنده شما رو هم بدونم.

ویدئوی جلسه پنجم:
https://youtu.be/m7bsN7kUu3Y

تلگرام اتومیشن کمپ:
https://t.me/automationcamp
ممنون از توجه تون – به امید آزادی ایران 🕊

#qa #qaautomation #test #testautomation #appium #softwaretesting #sqa #تست #اتومیشن #اپیوم #mobileautomation #automationcamp #mohammad_monfared
رفقا سلام.
الفبای تست اتومیشن چیه؟ یعنی اون چیزی که هر روز باهاش درگیر هستیم؟ درسته لوکیت المنت ها. چون قراره که پشت سر هم المنت ها رو پیدا کنیم و روشون اکشن انجام بدیم. پس این خیلی مهمه که بتونیم اینکار رو سریع و حرفه ای انجام بدیم. برای همین قراره تو این جلسه با تمام Selector های Appium و نوشتن لوکیتورهای بهینه آشنا بشیم. همچنین کلی نکته و Best Practice هم ضمیمه ش کردم که دیگه نیاز نباشه مثل من تو این چند سال این همه دیباگ و آزمون و خطا و سرچ انجام بدین.
امیدوارم که مفید واقع بشه. خوشحال میشم نظرات سازنده شما رو هم بدونم.

ویدئوی جلسه ششم:
https://youtu.be/hcLATUsGx5Q

تلگرام اتومیشن کمپ:
https://t.me/automationcamp
ممنون از توجه تون – به امید آزادی ایران 🕊

#qa #qaautomation #test #testautomation #appium #softwaretesting #sqa #تست #اتومیشن #اپیوم #mobileautomation #automationcamp #mohammad_monfared
انتشار یه آموزش خفن در وب برای اولین بار! آن هم به زبان شیرین فارسی!
آموزشی که اگر به انگلیسی بود شاید هزاران برابر وایرال میشد. ولی این بار هم فقط به عشق کامونیتی تست اونو به فارسی ایجاد کردم.
سلام. چند وقت پیش داشتم یه گشتی تو مقاله های مختلف، آموزش های یودمی و یوتیوب و ... میزدم و دیدم که متاسفانه اکثرشون برای انجام Gesture تو موبایل یعنی همون اکشن های موبایل که با دست انجام میدیم مثل Swipe و Zoom، از روش های قدیمی و Deprecate شده استفاده کردن در صورتی که Appium بعد از پیاده سازی استاندارد W3C Webdriver کلی راه های جدید و جذاب برای اینکار داره که باهاش میشه اصلا نقاشی کشید با 5 تا انگشت! جالبه که داکیومنت های خودش هم هنوز کامل نیست و باید رفت ریز شد توی کد تا یه چیزایی رو فهمید و خیلی ها اصلا خبر ندارن.
حالا من اومدم تمام Gesture های متدوال گوشی رو با همه روش های موجود تا به امروز برای شما انجام و آموزش دادم و نتیجه ش شد 2/5 ساعت ویدئو که حدود دو هفته با صرف روزی چند ساعت برای ساخت و ادیت ش وقت گذاشتم. چپتربندی هم کردم که هر بخشی رو خواستین ببینین. (لیست در ادامه). در آخر هم کلی تمرین چالشی دادم که حسابی حرفه ای بشید.
همچنین حدود 700 خط کد در طول این آموزش نوشته شد که خیلی شیک دسته بندی و کامنت گذاری کردم و میتونین به عنوان رفرنس هر وقت خواستین از گیت بردارید و استفاده کنید.
مطمئن هستم که همچین آموزش کامل و به روزی رو نه تو یودمی و یوتیوب نه تو هیچ کارگاه و کلاسی پیدا نخواهید کرد و این کمترین کاری هست که میتونم برای جامعه تست کشورم انجام بدم.
امیدوارم که مفید واقع بشه. خوشحال میشم نظرات سازنده شما رو هم بدونم.

ویدئوی جلسه هفتم:
https://youtu.be/Ss6iZJMVSU8

آدرس پلی لیست آموزش Appium:
https://www.youtube.com/playlist?list=PLKp9IFVoltbCroq54kRQ0NvBmd-DLLLnR
تلگرام اتومیشن کمپ:
https://t.me/automationcamp
ممنون از توجه تون – به امید آزادی ایران 🕊

لیست چپترها:
00:00 – Intro
01:38 – History & different ways to perform gestures
11:37 – List of Gestures and differences between them
15:55 – Element Rectangular (X, Y, Height, Width)
20:31 – Tap & Multi-finger Tap - W3C Actions API
29:57 – Tap & Multi-finger Tap - TouchAction/MultiAction
36:00 – Double Tap - TouchAction
36:50 – Double Tap – W3C Actions API
40:35 – Enable “Show Taps” and “Pointer Location” on Mobile
42:24 – Press and Hold – TouchAction
47:36 – Press and Hold – W3C Actions API
51:30 – Press and Hold – W3C Mobile Gestures Commands
55:01 – Scroll Down (Vertical) – TouchAction
57:44 – Window Rectangular (Height, Width, X, Y)
01:00:15 – Scroll with coordination calculations – TouchAction
01:04:20 – Scroll Up (Vertical) – TouchAction
01:06:38 – Scroll Down/Up (Vertical) - W3C Actions API
01:10:00 – Scroll Right/Left (Horizontal) - W3C Actions API
01:12:07 – Scroll Down (Vertical) - W3C Mobile Gestures Commands
01:20:40 – Scroll Up (Vertical) - W3C Mobile Gestures Commands
01:22:08 – Scroll Right/Left (Horizontal) - W3C Mobile Gestures Commands
01:23:12 – Android UiScrollable Class
01:24:28 – Scroll Element into View (Search for element) - UiScrollable Class
01:28:38 – Scroll Element into View (Search for element) - W3C Mobile Gestures Commands
01:30:46 – Scroll to End/Beginning - UiScrollable Class
01:33:27 – Swipe Up/Down - W3C Actions API
01:38:58 – Swipe Up/Down - W3C Mobile Gestures Commands
01:41:28 – Swipe Left/Right - W3C Actions API
01:42:22 – Swipe Left/Right - W3C Mobile Gestures Commands
01:43:42 – Flick (Fling) Up/Down - W3C Actions API
01:46:55 – Flick (Fling) Up/Down - W3C Mobile Gestures Commands
01:49:00 – Flick (Fling) - UiScrollable Class
01:49:24 – Drag and Drop - TouchAction
01:52:38 – Drag and Drop - W3C Actions API
01:55:18 – Drag and Drop - W3C Mobile Gestures Commands
01:56:24 – Zoom In/Out (Pinch Open/Close) - W3C Mobile Gestures Commands
01:59:11 – Zoom In/Out (Pinch Open/Close) - W3C Actions API
02:03:57 – Appium Gestures Plugin – Intro & Install
02:05:32 – Appium Gestures Plugin – Scroll Element into View
02:08:40 – Appium Gestures Plugin – Drag & Drop
02:09:50 – Perform Gestures on Mobile Browser
02:11:18 – Appium Gestures Creator
02:17:52 – Exercises



#qa #qaautomation #test #testautomation #appium #softwaretesting #sqa #تست #اتومیشن #اپیوم #mobileautomation #automationcamp #mohammad_monfared
AutomationCamp
معرفی مطالب قسمت جدید Appium اتومیشن کمپ: https://t.me/automationcamp
سلام رفقا.
با یه قسمت خفن دیگه از آموزش Appium در خدمتتونم! (ویدئوی معرفی مطالبش رو ببینین).
تا حالا شده بخواین یه تست اتومیشن موبایل بنویسین خودش بره تو تقویم تایم مدنظر ما رو پیدا کنه و انتخاب کنه؟ یا مثلا Slider رو جابجا کنین؟ Time picker که میچرخه چی؟ از اون سخت تر جایی که Toast message میاد یه لحظه و محو میشه چیکار می کنین؟
تو این ویدئو رفتیم سراغ کار با المنت هایی که چالش برانگیز هستن و برای هندل کردنشون ترفند و کارهای خاص لازمه انجام بدیم. بیش از 2 ساعت آموزش چپتربندی شده که هر کدوم رو خواستین ببینین (هرچند که توصیه میکنم از اول تا آخر ببینین تا نکاتی که در خلال آموزش گفتم رو هم یاد بگیرین.)
راستی تو مصاحبه ای که قبلا برای Senior Test Engineer (سطح L5) با Google داشتم ازم یه سوالی مرتبط با مطالب این آموزش پرسیدن که بهش پرداختم و راه حل بهینه رو توضیح دادم.
امیدوارم که مفید واقع بشه. خوشحال میشم نظرات سازنده شما رو هم بدونم.

ویدئوی جلسه هشتم:
https://youtu.be/ENieXfbH3-A

آدرس پلی لیست آموزش Appium:
https://www.youtube.com/playlist?list=PLKp9IFVoltbCroq54kRQ0NvBmd-DLLLnR
تلگرام اتومیشن کمپ:
https://t.me/automationcamp

ممنون از توجه تون – به امید آزادی ایران 🕊

لیست چپترها:
00:00 – Intro
02:25 – Text Box
04:49 – Checkbox | Radio Button | Switch
05:54 – Drop Down
21:17 – Drop Down (Scrollable)
29:13 – Wheeler (Picker)
43:28 – Time Picker (Spinner)
55:44 – Date Picker (Calendar)
01:29:15 – Slider (Rating Bar)
01:37:08 – Slider (Seek Bar)
01:39:55 – Popup
01:47:54 – Alerts
01:59:06 – Toast Message (Snackbar)
02:04:02 – Get app source (XML Hierarchy)
02:07:54 – Review and Conclusion

#qa #qaautomation #test #testautomation #appium #softwaretesting #sqa #تست #اتومیشن #اپیوم #mobileautomation #automationcamp #mohammad_monfared
اگر تو تست های اتومیشن Sleep زیاد میزاری این آموزش برای شماس! برای Wait شرط بزار!
دوستان عزیز سلام! امیدوارم که تعطیلات خوبی رو پشت سر گذاشته باشین و سال فوق العاده ای پیش روتون باشه!
تو این قسمت از آموزش اپیوم رفتم سراغ آشنایی با انواع Wait ها به خصوص Implicit و Explicit. یاد میگیریم چطور برای دیده شدن شرط خاصی مثل تغییر Attribute المنت، فعال/غیرفعال شدنش، Visible/Invisible شدنش و موارد اینچنینی صبر کنیم! آخرش هم یه تمرین میگم!
امیدوارم که مفید واقع بشه. خوشحال میشم نظرات سازنده شما رو هم بدونم.

ویدئوی جلسه نهم:
https://youtu.be/q7-HSQom9Kc

آدرس پلی لیست آموزش Appium:
https://www.youtube.com/playlist?list=PLKp9IFVoltbCroq54kRQ0NvBmd-DLLLnR
تلگرام اتومیشن کمپ:
https://t.me/automationcamp

ممنون از توجه تون – به امید آزادی ایران 🕊

لیست چپترها:
00:00 – Sleep (Pause)
02:24 – Implicitly, Explicitly and Fluent Wait Definitions
03:42 – Implicitly Wait
07:42 – Explicitly Wait
10:50 – Expected Conditions
22:39 – Example: Wait Until Visibility of Element Located
25:16 – Example: Wait Until Not Visibility of Element Located
28:15 – Example: Wait Until Invisibility of Element Located
29:01 – Example: Wait Until Text to be Present in Element
35:15 – Exercise

#qa #qaautomation #test #testautomation #appium #softwaretesting #sqa #تست #اتومیشن #اپیوم #mobileautomation #automationcamp #mohammad_monfared
تو هر تست اتومیشن سه تا مرحله داریم:

🔹Arrange
🔹Act
🔹Assert
یعنی:
۱- شرایط رو آماده میکنیم (Arrange)
۲- سناریوی مدنظر رو انجام میدیم (Act)
۳- و بعد وریفای میکنیم که اتفاق مدنظرمون افتاد یا نه (Assert). تو جلسه دهم آموزش Appium میخوایم بریم سراغ همین اسرشن ها.

در ابتدا نحوه به دست آوردن اتریبیوت المنت ها رو یاد میگیریم. بعد میریم سراغ دستور assert تو پایتون و این دو تا رو با هم ترکیب میکنیم و اسرشن رو روی اتریبیوت ها انجام میدیم. همچنین با متدهای اسرشن درایور مثل is_displayed و is_enabled آشنا میشیم.

در ادامه هم با کاربرد حلقه While تو این موضوع آشنا میشیم و یه تابع خیلی خفن باهاش می نویسیم که برامون منتظر تکست یک المنت میمونه و وریفای ش میکنه.

در نهایت هم با Exception های متداول تو اتومیشن مثل NoSuchElementException یا StaleElementReferenceException و نحوه هندل کردن اونا آشنا میشیم.

امیدوارم که مفید واقع بشه. خوشحال میشم نظرات سازنده شما رو هم بدونم.

ویدئوی جلسه دهم:
https://youtu.be/_yZm6WapeAk

آدرس پلی لیست آموزش Appium:
https://www.youtube.com/playlist?list=PLKp9IFVoltbCroq54kRQ0NvBmd-DLLLnR
تلگرام اتومیشن کمپ:
https://t.me/automationcamp

ممنون از توجه تون – به امید آزادی ایران 🕊

لیست چپترها:
00:00 – Get Attribute of Elements
04:27 – Assert in Python
07:18 – Assert Attributes of Elements
12:45 – is_enabled, is_displayed
18:10 – "while" Loop for Assertions
24:03 – Implement Verify Method with "while" Loop
32:17 – Improve code
45:50 – Exceptions

#qa #qaautomation #test #testautomation #appium #softwaretesting #sqa #تست #اتومیشن #اپیوم #mobileautomation #automationcamp #mohammad_monfared
اگر بخوایم تو اتومیشن موبایل، دکمه Home و App switch رو بزنیم باید چیکار کنیم؟
یا یه چیزی رو تو فیلد سرچ تایپ کردیم حالا چجوری تایید روی کیبرد رو بزنیم تا نتایج رو ببینیم؟
تو این جلسه راجع به Keyboard Action ها تو Appium صحبت کردم.

- با Key Event ها در اندروید آشنا میشیم.
- تایپ واقعی به چند روش رو یاد می گیریم.
- دستوراتی برای کنترل کیبرد و بررسی وضعیتش رو معرفی میکنیم.
- با نحوه اجرای اکشن متغیر کیبرد که کار سرچ یا تایید رو انجام میده یاد میگیریم (IME) و یه مثال واقعی ازش هم تو اپلیکیشن آمازون می بینیم.

امیدوارم که مفید واقع بشه. خوشحال میشم نظرات سازنده شما رو هم بدونم.

ویدئوی جلسه یازدهم:
https://youtu.be/5sNskwPa8I4

آدرس پلی لیست آموزش Appium:
https://www.youtube.com/playlist?list=PLKp9IFVoltbCroq54kRQ0NvBmd-DLLLnR
تلگرام اتومیشن کمپ:
https://t.me/automationcamp

ممنون از توجه تون – به امید آزادی ایران 🕊

لیست چپترها:
00:00 – KeyEvent (KeyCode)
02:27 – Keyboard Action Commands
03:36 – Real Type using Key Events
07:00 – Press Device Soft Keys (Back, Home, App Switch)
08:05 – driver.is_keyboard_shown(), driver.hide_keyboard()
10:08 – Real Type by executing “mobile: type” command
11:28 – Input Method Editor (IME) - Perform ‘Done’, ‘Next’, ‘Search’
14:51 – Type and Search in Amazon app

#qa #qaautomation #test #testautomation #appium #softwaretesting #sqa #تست #اتومیشن #اپیوم #mobileautomation #automationcamp #mohammad_monfared
آقا یه سوال راجع به Appium. اگر با کلیک رو جایی، اپلیکیشن ما رو به کروم هدایت کنه چجوری اتومیشن رو ادامه بدیم؟ یه مشکل دیگه. یه جایی از اپ داره یه صفحه وب رو نشون میده که المنت هاش لوکیت نمیشه هرکاری میکنیم. راهش چیه؟

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

- انواع اپلیکیشن ها. (Native, Webview, PWA, Hybrid)
- مفهوم Webview و Native
- مفهوم Context و سوئیچ بین کانتکس های Native و Webview
- سوئیچ بین Browser و اپلیکیشن
- امکانات Appium Inspector و DevTools برای اپ های هایبرید


ویدئوی جلسه دوازدهم:
https://youtu.be/ImNUyjlVW8I

آدرس پلی لیست آموزش Appium:
https://www.youtube.com/playlist?list=PLKp9IFVoltbCroq54kRQ0NvBmd-DLLLnR
تلگرام اتومیشن کمپ:
https://t.me/automationcamp

ممنون از توجه تون – به امید آزادی ایران 🕊

لیست چپترها:
00:00 – Native and Hybrid apps
06:21 – Context (NATIVE, WEBVIEW)
09:50 – Get Contexts
12:07 – Switch Context
16:05 – NoSuchContextException
17:05 – Switch to Browser and Back to app
23:39 – Internal browser on NATIVE context
26:49 – CHROMIUM context
28:02 – Handle hybrid apps with Appium Inspector
30:57 – DevTools Inspect Devices

#qa #qaautomation #test #testautomation #appium #softwaretesting #sqa #تست #اتومیشن #اپیوم #mobileautomation #automationcamp #mohammad_monfared
تو این قسمت قفلی زدم رو appium آخرش یه کاری باهاش انجام دادم تو وب پیدا نمیشه! به شرط سرچ و تضمینی!
آقا ما تو اپیوم چجوری میتونیم کاربر رو بین تست ها لاگین نگه داریم؟ یا فرضا تست رو با یه state خاصی از اپ از تست قبلی ادامه بدیم بدون اینکه بسته بشه؟ یا مثلا چجوری میتونیم اپلیکیشن رو در ابتدای سایکل تست Reinstall بکنیم؟
پاسخ این سوالا اینجاس. تو این بخش از آموزش اپیوم قراره با استراتژی های مختلف ریست، fullReset، noReset و fastReset آشنا بشیم. ترکیب های مختلف شون رو ببینیم چجوری میشن و از همه خفن تر اینکه یاد میگیریم اگر اپ رو با کروم موبایل باز کردیم چجوری لاگین بمونه تو تست بعدی! (اینو سرچ کنین واقعا)

ویدئوی جلسه سیزدهم:
https://youtu.be/_q-PIVWyHfU
آدرس پلی لیست آموزش Appium:
https://www.youtube.com/playlist?list=PLKp9IFVoltbCroq54kRQ0NvBmd-DLLLnR
تلگرام اتومیشن کمپ:
https://t.me/automationcamp

ممنون از توجه تون – به امید آزادی ایران 🕊

لیست چپترها:
00:00 – Install App by Appium
03:21 – Stop | Clear data | Reinstall
06:07 – Install Application Under Test (Clockify)
09:09 – “adb shell pm clear <packageName>”
10:43 – “noReset” and “fullReset” combinations
20:26 – Keep cache in Chrome Mobile with Appium
29:37 – “mobile: clearApp” command
32:45 – Questions

#qa #qaautomation #test #testautomation #appium #softwaretesting #sqa #تست #اتومیشن #اپیوم #mobileautomation #automationcamp #mohammad_monfared
تو Uber چجوری اتومیشن موبایل انجام میدن؟
ما چجوری میتونیم تست رو همزمان روی دو تا اپلیکیشن انجام بدیم و بین شون سوئیچ کنیم؟ یا ازاون با حال تر تو دو تا دیوایس مختلف؟ حالا به چه کاری میاد این؟
فرض کنید محصول شما دو تا اپ داره یکی برای مشتری و اون یکی سرویس دهنده. مثلا راننده و مسافر. یا فرضا سفارش دهنده غذا و رستوران. ما باید بتونیم برای تست E2E همزمان اتومیشن رو بر روی جفت اینا انجام بدیم و ارتباط شون رو چک کنیم تا فلوی تست کامل بشه.
تو این قسمت میخوام این کارو انجام بدم. امیدوارم که مفید واقع بشه. خوشحال میشم نظرات سازنده شما رو هم بدونم.

ویدئوی جلسه چهاردهم:
https://youtu.be/AH4Gs3QdE9w

آدرس پلی لیست آموزش Appium:
https://www.youtube.com/playlist?list=PLKp9IFVoltbCroq54kRQ0NvBmd-DLLLnR

تلگرام اتومیشن کمپ:
https://t.me/automationcamp
ممنون از توجه تون – به امید آزادی ایران 🕊

#qa #qaautomation #test #testautomation #appium #softwaretesting #sqa #تست #اتومیشن #اپیوم #mobileautomation #automationcamp #mohammad_monfared