AutomationCamp
1.25K subscribers
23 photos
4 videos
5 files
86 links
AutomationCamp!

Website:
https://automationcamp.ir

YouTube:
https://www.youtube.com/automationcamp

LinkedIn:
https://www.linkedin.com/in/monfared/

Email: mdmonfared (at) outlook
Download Telegram
سلام.

میدونیم که هر آدرس وب شامل چند بخش هست و یکیشون همون Domain name هست که بهش میگیم Origin و میشه از طریق دستور document.domain هم تو کنسول اونو دید.

حالا تو Browser ما یه سری Web Security Policy ها مثل Same-origin داریم که میگه از داخل صفحه ای مرتبط به مثلا Wikipedia.com نمیتونیم به محتویات صفحه ای از یه domain دیگه مثلا Meta.com دسترسی داشته باشیم. البته تگ هایی مثل iFrame و img جزو مواردی هستن که Cross-origin رو کلا اجازه دارن دسترسی داشته باشن و البته با محدودیت هایی. تو ریکوئست های HTTP هم این داستان هست و Cross Origin Resource Sharing یا همون CORS تکنیکی هست که این اجازه رو میده که سرورهای دیگه بتونن ریکوئست بفرستن به یه سرور دیگه با دامین متفاوت.

سایپرس هم از اونجایی که مستقیما تو خود Browser اجرا میشه شامل این محدودیت میشه. یعنی مثلا تو سایپرس وقتی مثلا داریم تو Google کاری انجام میدیم و میخوایم اون وسط بریم Wikipedia، با خطای cross domain مواجه میشیم که به خاطر همین policy هست.

البته راه حل هم داره!

تو ورژن 9 سایپرس فیچری رو با دستور cy.origin به صورت آزمایشی معرفی کرد که بتونیم این کارو انجام بدیم و این فیچر تو نسخه 12 جزو موارد stable شد و الان مثل هر دستور دیگه ای میتونیم ازش استفاده کنیم.

حالا این کجا به کار ما میاد؟

- وقتی که اپلیکیشن ما لاگین ش رو با سرویس های auth انجام میده مثل Okta یا SSO

- وقتی که ما دو تا اپلیکیشن با دامین های متفاوت داریم که با هم در ارتباط هستن و میخوایم همزمان جفتشون رو وریفای کنیم

- وقتی میخوایم بریم otp رو از طریق ui تو ایمیل بخونیم.

و کلی کیس دیگه که توشون با تاپ دامین های متفاوت سرو کار داریم.

تو این قسمت رفتم سراغ این قسمت و یاد میگیریم که تو سایپرس چطور Cross domain testing انجام بدیم.

◀️ جلسه بیست و هفتم: https://youtu.be/lP3YibaJGlA

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

آدرس پلی لیست آموزش سایپرس:

https://www.youtube.com/playlist?list=PLKp9IFVoltbAS7xsoLoE7geteKazAzlhJ

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

#qa #qaautomation #test #testautomation #cypress #softwaretesting #sqa #تست #اتومیشن #سایپرس
14👍4
حرکت در زمان با سایپرس!
سلام.
میدونستین میتونین تو Cypress زمان رو به جلو ببرید، ساعت مرورگر رو متوقف کنید یا اونو روی تایم خاصی تنظیم کنید؟ چه خفن نه؟!
حالا به چه کاری میاد؟ مثلا فیچری تو اپلیکیشن تون دارید که بعد از یه گذشت یه مدت زمانی یه چیزی فعال یا غیر فعال میشه. یا اکشن خاصی یه خورده طول میکشه تا اتفاق بیفته و برای وریفای کردن اون باید wait داشته باشید.
با دستور ()cy.clock میتونیم تایم رو ببریم جلو و سرعت تست رو به صورت نجومی ببریم بالا! تو این قسمت رفتم سراغش!

◀️ جلسه بیست و هشتم:
https://youtu.be/0pS6zoG4pmg

📍کانال تلگرام اتومیشن کمپ: https://t.me/automationcamp
آدرس پلی لیست آموزش سایپرس:
https://www.youtube.com/playlist?list=PLKp9IFVoltbAS7xsoLoE7geteKazAzlhJ
ممنون از توجه تون – به امید آزادی ایران 🕊️
#qa #qaautomation #test #testautomation #cypress #softwaretesting #sqa #تست #اتومیشن #سایپرس
10🔥1
رفقا سلام.
تو DevTools کروم یه ابزاری هست به اسم Recorder که باهاش میتونیم سناریوی کاربر رو Capture و Replay کنیم که هدف اصلیش بررسی Performance هست و صد البته برای تست اتومیشن هم میشه استفاده کرد ازش. خروجی Puppeteer هم بهمون میده.
تو این جلسه میخوایم یاد بگیریم چطوری از این ابزار برای سایپرس هم خروجی بگیریم و ازش یه فایل تست کامل دریافت کنیم!
در انتها به سوالات احتمالی شما هم در رابطه باهاش پاسخ میدم و اگر سوال دیگه ای داشتین خوشحال میشم تو کپشن ویدئو ازم بپرسید.

◀️ جلسه بیست و نهم:
https://youtu.be/uJWyz01zoOc

راستی اینجا خود Chrome Recorder هم قبلا معرفی کردم:
https://youtu.be/ii3zSgddcrI

📍کانال تلگرام اتومیشن کمپ: https://t.me/automationcamp
آدرس پلی لیست آموزش سایپرس:
https://www.youtube.com/playlist?list=PLKp9IFVoltbAS7xsoLoE7geteKazAzlhJ
ممنون از توجه تون – به امید آزادی ایران 🕊️
#qa #qaautomation #test #testautomation #cypress #softwaretesting #sqa #تست #اتومیشن #سایپرس
14👍6
دوستان سلام. امیدوارم که حالتون خوب باشه.
من برای اینکه بتونم بهتر پاسخگوی شما باشم اکانت دیگه ای رو ایجاد کردم و مدتی هست که اون رو تو جاهای مختلف برای ارتباط معرفی میکنم.
از اونجایی که اکانت اصلی من پر از کانال و گروه های مختلف هست ممکنه پیغام شما رو نبینم و شرمنده تون بشم.
لذا در صورتی که از من سوال داشتین یا نیاز به ارسال پیغامی بود لطفا به این اکانت پیام بدین‌.

@monfared_io

ممنون از توجه تون - به امید آزادی ایران 🕊
28👍11😍3
سلام.
با دنیای Typescript و مزایای فوق العاده اون آشنا هستیم. حالا فرض کنید ازش تو سایپرس هم استفاده کنیم! اوف چه شود! علی الخصوص اینکه که تست های E2E تو همون ریپازیتوری Frontend باشه.
بزارین یه مثال بزنم.
فرض کنید که تو اپلیکیشن Frontend یه Interface تعریف شده برای تایپ Property هایی که باید تو آبجکت ریسپانس از یه API خاص Backend مثل لاگین دریافت بشه. حالا متناظر اون ما هم داریم تست api لاگین مینویسیم با سایپرس و همون پراپرتی ها رو وریفای میکنیم. حالا یه تغییری تو api انجام میشه و ساختار این response عوض میشه. خوب مسلما Frontend developer میاد این Interface رو تغییر میده تا اپلیکیشن کار بکنه. خوب تست ها چی؟ اگر سایپرس رو با تایپ اسکریپت نوشته باشیم میتونیم همون Interface رو تو تست Import کنیم و دیگه تا ابد هر زمان این تغییر اتفاق بیفته لایبرری تست های ما مستقیما آپدیت میشه!

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

◀️ جلسه سی ام: https://youtu.be/8AfKdTkts3E

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

https://www.youtube.com/playlist?list=PLKp9IFVoltbAyhMhPqxIuxlBV7_cbd4Ar

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

آدرس پلی لیست آموزش سایپرس:
https://www.youtube.com/playlist?list=PLKp9IFVoltbAS7xsoLoE7geteKazAzlhJ

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

#qa #qaautomation #test #testautomation #cypress #softwaretesting #sqa #تست #اتومیشن #سایپرس
10👍9
سلام رفقا!
من ماه اخیر رو یه سفر طولانی بودم و برای همین زیاد حضور نداشتم تو شبکه های اجتماعی. از اینکه در دسترس نبودم تا بتونم پیغام هاتون رو جواب بدم عذر میخوام.
از امروز با انرژی مضاعف و ادامه ضبط و آماده سازی آموزش ها در خدمتتونم. سوال ها رو هم دارم بررسی میکنم و پاسخ میدم.
وجودتون سلامت – به امید آزادی ایران 🕊 ❤️🙏
😍3226👍8👎3🥰1
بچه ها سلام.
میدونیم که قطعا هدف نهایی از تمام تست های اتومیشن، اجرا به صورت خودکاره و جایی که باید این اتفاق بیفته تو پایپ لاین های CI هست. تو این جلسه تاریخچه ای از گیت و CICD و دلیل وجودشون رو میگیم، با ابزارهای CI آشنا میشیم و به عنوان بخش اصلی اون، سایپرس رو با Jenkins اینتگریت میکنیم.
------- محتویات این ویدئو -------
00:00 – Intro
00:42 – VCS (Git)
02:49 – History
05:00 – CI/CD
07:09 – VCS & CI/CD tools
07:48 – Run tests from CLI
10:10 – Node Scripts
16:38 – Test retries
20:08 – Jenkins - Introduction
20:34 – Jenkins – How to install
25:30 – Jenkins – How to run the server
26:41 – Jenkins - Initialize
29:06 – Jenkins – Add new job
29:29 – Jenkins – Job configuration
31:17 – Jenkins – First run
34:49 – Jenkins - Integrate with Cypress project
36:55 – Jenkins – Parameterize project
39:39 – Jenkins – Schedule (Cronjob)

◀️ جلسه سی و یکم: https://youtu.be/50ITopMDb6o

📍کانال تلگرام اتومیشن کمپ: https://t.me/automationcamp
آدرس پلی لیست آموزش سایپرس:
https://www.youtube.com/playlist?list=PLKp9IFVoltbAS7xsoLoE7geteKazAzlhJ
ممنون از توجه تون – به امید آزادی ایران 🕊
#qa #qaautomation #test #testautomation #cypress #softwaretesting #sqa #تست #اتومیشن #سایپرس #automationcamp #mohammad_monfared
27👍15👏2
سلام عزیزان!
امکان نداره حرف از CI باشه و GitHub actions مطرح نشه. تو این قسمت میخوام نحوه Integrate کردن سایپرس باهاش رو یاد بگیریم!
تو جلسه قبل با گیت، CICD و فلسفه وجودشون آشنا شدیم. و در نهایت اومدیم سایپرس رو با Jenkins اینتگریت کردیم.
تو این قسمت هم همونکار رو این بار با GitHub actions که ابزار CI گیتهاب هست انجام میدیم. امیدوارم براتون مفید باشه.

◀️ جلسه سی و دوم:
https://youtu.be/ZnuaoQL1PO8
📍کانال تلگرام اتومیشن کمپ: https://t.me/automationcamp
آدرس پلی لیست آموزش سایپرس:
https://www.youtube.com/playlist?list=PLKp9IFVoltbAS7xsoLoE7geteKazAzlhJ
ممنون از توجه تون – به امید آزادی ایران 🕊
#qa #qaautomation #test #testautomation #cypress #softwaretesting #sqa #تست #اتومیشن #سایپرس #automationcamp #mohammad_monfared
23👍3
سلام!
میدونستین سایپرس یه دشبورد حرفه ای (Cypress Cloud) داره که خیلی راحت با CI اینتگریت میشه و میتونیم تمام ریپورت Test Run ها و تاریخچه شون رو به همراه کلی نمودار و آنالیز ببینیم؟ اونم به صورت رایگان؟
بله درسته میتونین خیلی راحت با کمترین زحمتی، خیلی سریع این داشبورد حرفه ای رو ستاپ کنین و از فردا یه پورتال حرفه ای برای تست های اتومیشن سایپرس داشته باشین.
تو این قسمت میخوایم این کار رو انجام بدیم و درنهایت وصلش میکنیم به GitHub Actions و Workflow پروژه فعلی مون!

◀️ جلسه سی و سوم: https://youtu.be/tQpY5P9mRZY

📍کانال تلگرام اتومیشن کمپ: https://t.me/automationcamp
آدرس پلی لیست آموزش سایپرس:
https://www.youtube.com/playlist?list=PLKp9IFVoltbAS7xsoLoE7geteKazAzlhJ
ممنون از توجه تون – به امید آزادی ایران 🕊
#qa #qaautomation #test #testautomation #cypress #softwaretesting #sqa #تست #اتومیشن #سایپرس #automationcamp #mohammad_monfared
16👌6👍5
34🎉19👍9
سلام!
تا حالا شده ساعت ها درگیر debug کردن یه تست failed شده تو پایپ لاین بشین؟ همه چی روی سیستم شما pass میشه ولی رو CI نه! آخه چه شرایطی اون محیط لعنتی CI داره که باعث این قضیه میشه؟ هرچی ویدئو میبینی، لاگ میخونی، اسکرین شات ها رو میبینی اصلا کمکی نمیکنه!
فکر کن بتونی بری تو CI همون تست رو مجددا مثل یه ویدئو اجرا کنی و اونجایی که خطا میده Pause کنی بری ببینی وضعیت DOM چجوریه تو اون لحظه؟ Request ها چی شده نتیجه ش؟ بری تو Console ببینی چی لاگ شده؟ آپشن Time Travel رو داشته باشی با امکان before/after و همه اینا با جلو و عقب بردن اون ویدئو آپدیت بشن!
میدونستین سایپرس این رو عملی کرده؟ یه فیچر انقلابی و رایگان با کلی امکانات خفن و کاربردی که تو این ویدئو با هم بررسیش میکنیم!

◀️ جلسه سی و پنجم: https://youtu.be/1WkBUUCRz3Y

📍کانال تلگرام اتومیشن کمپ: https://t.me/automationcamp
آدرس پلی لیست آموزش سایپرس:
https://www.youtube.com/playlist?list=PLKp9IFVoltbAS7xsoLoE7geteKazAzlhJ
ممنون از توجه تون – به امید آزادی ایران 🕊
#qa #qaautomation #test #testautomation #cypress #softwaretesting #sqa #تست #اتومیشن #سایپرس #automationcamp #mohammad_monfared
13👍7👌1
سلام رفقا. مرسی از حمایت و اعتمادتون تا باعث ده هزارتایی شدن لینکداین شدین! باعث افتخاره اگر تونسته باشم در مسیر کسی هرچند کم تاثیر مثبت گذاشته باشم و تمام تلاشم رو میکنم که به این راه، پرقدرت تر از قبل ادامه بدم.
دم شما گرم! ❤️❤️
60🎉10👏3👍2
XPath and CSS selectors.pdf
1.9 MB
سلام. این فایل آموزشی کامل سلکتورهای XPath و CSS رو اخیرا ایجاد کردم. برای کسایی که لینکداین ندیدنش اینجا هم میزارم. ارادت
🙏21👌84👍2👏2🆒2
Selenium Tutorial.pdf
9.9 MB
آقای «محمدرضا افتخاری» عزیز (https://www.linkedin.com/in/mohammadreza-eftekhari/) زحمت کشیدن و آموزش های سلنیوم اتومیشن کمپ رو مکتوب کردن و نتیجه ش شده این کتابچه آموزشی فوق العاده هدیه ای به کامونیتی تست! 🎉👍
محمدرضا جان دم شما گرم!
49👍13🙏4🔥2
Test Automation Design Patterns.pdf
2.3 MB
دیزاین پترن یا همون الگوی طراحی، یک قالب برای پیاده سازی سولوشن های نرم افزاری برای مسائل متفاوت هست‌ که نیایم زیاد درگیر چلنج بشیم، بست پرکتیس ها رو پیاده سازی کنیم و در نهایت کد تمیزتری داشته باشیم.
به عنوان دولوپر تست اتومیشن باید با دیزاین پترن های مهم ش آشنا باشیم. تو این فایل که اخیرا تو لینکداین منتشر کردم خیلی مفید و مختصر با مثال و جایی که باید استفاده بشن توضیح شون دادم.
امیدوارم براتون مفید باشه ✌️
👍1411👏3
📌 سلام رفقا. امروز اولین کنفرانس دو روزه سایپرس (CypressConf 2023) با کلی موضوعات جذاب شروع میشه. از دستش ندین.

لینک Event در لینکداین:
https://www.linkedin.com/events/cypressconf20237094382577691602944/
لینک Event در Airmeet به همراه سرفصل ها:
https://www.airmeet.com/e/0512bb50-2c7a-11ee-b441-055bfa7b9c0e

بعدا هم تو کانال یوتیوب سایپرس و هم تو Airmeet رکوردشون قابل مشاهده س.
https://www.youtube.com/@Cypressio
17👍3
سلام رفقا.
خوب دومین گردهمایی تست نرم افزار ایران هم در راهه و خیلی خوشحالم که این کامیونیتی که از اولش همراهش بودم روز به روز داره رشد میکنه. متاسفانه امسال هم اونجا نبودم تا این افتخار نصیبم بشه تک تک تون رو از نزدیک ببینم. امیدوارم در آینده این فرصت برام پیدا میشه. ❤️
چند تا آدم خفن اینجان تا تجربیات شون رو انتقال بدن و سوالای شما رو‌ جواب بدن، پس اونا رو تو این پرسشنامه بنویسید تا بچه ها بدونن دغدغه های اصلی تون چیه و روی اونا متمرکز بشن.

https://survey.porsline.ir/s/RQ2k7bky

ممنون از توجه تون - به امید آزادی ایران 🕊️
23
📝 بررسی تخصصی یک رزومه واقعی

سلام رفقا!
یکی از دوستان از من خواست #رزومه ش رو نگاه بندازم و نظر بدم و منم به این فکر کردم که بیام تمام تجربه و نکاتی که تو این سال ها با بررسی رزومه ها و #مصاحبه های مختلف و مطالعه به دست آوردم رو به کار ببندم و خیلی جزئی رزومه ش رو اصلاح کنیم تا به درد بقیه هم بخوره.

🔥 نتیجه ش شد حدود 40 دقیقه بررسی تخصصی که تو 14 تا #voice بهشون توضیح دادم. در کنار اون کلی ترفند و نکته هم گفتم که با به کار بستن شون مطمئن هستم خیلی زود تو شرکت های مدنظرتون مشغول به کار می شین.
نکاتی که برای خودم باعث شد با گوگل وارد مصاحبه بشم! 😊
پس لطفا برای خودتون وقت بزارین و این موارد رو تو روزمه و مصاحبه تون به کار ببندین!

در کنار جزئیات رزومه، این موارد هم راجع بهشون توضیح دادم:

🔹 ارسال رزومه برای اروپا، امریکا، کانادا و...
🔹سیستم های ATS و Tune کردن رزومه
🔹فرمت Summary
🔹 فرمت نوشتن هرکدوم از تجربه ها
🔹 تکنیک های نمایش Achievement های واقعی
🔹جادادن Soft skill به صورت هوشمندانه و غیر مستقیم در رزومه
🔹نحوه Track کردن فرآیند مصاحبه که حداقل ۳۰−۴۰ درصد امکان رفتن به مراحل بعد رو بالا میبره
و ...

پ.ن 1: مشخصات این دوستمون و اسامی داخل رزومه برای حفظ حریم شخصی تغییر داده شدن.
پ.ن 2: تخصص این فرد مهم نیست. نکاتی که گفتم جنراله و در رابطه با هر نوع تایتل شغلی و تخصصی صدق میکنه

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

ممنون از توجه تون – به امید آزادی ایران 🕊️
👇👇
28👍4🙏4🔥3