سلام.
میدونیم که هر آدرس وب شامل چند بخش هست و یکیشون همون 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 #تست #اتومیشن #سایپرس
میدونیم که هر آدرس وب شامل چند بخش هست و یکیشون همون 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 #تست #اتومیشن #سایپرس
YouTube
Cypress Tutorial #27 – Cross Origin - آموزش سایپرس – جلسه بیست و هفتم
سایپرس هم از اونجایی که مستقیما تو خود Browser اجرا میشه مثل هر اپ یا وبسایتی شامل محدودیت Cross origin مرورگر میشه یعنی نمیتونیم از تو یه دامین، به دامین دیگه ای دسترسی داشته باشیم.
یعنی مثلا تو سایپرس وقتی مثلا داریم تو Google کاری انجام میدیم و میخوایم…
یعنی مثلا تو سایپرس وقتی مثلا داریم تو Google کاری انجام میدیم و میخوایم…
حرکت در زمان با سایپرس!
سلام.
میدونستین میتونین تو 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 #تست #اتومیشن #سایپرس
سلام.
میدونستین میتونین تو 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 #تست #اتومیشن #سایپرس
YouTube
Cypress Tutorial #28 – Clock - آموزش سایپرس – جلسه بیست و هشتم
تا حالا شده تو اپلیکیشن تون بخواین فیچری رو تست کنین که باید برای وریفای اون چند ثانیه، دقیقه یا حتی چند روز صبر کنین؟ میدونستین میتونین تو سایپرس زمان رو به جلو ببرین؟ شما می تونین ساعت رو متوقف کنین و یا اون رو روی زمان خاصی تنظیم کنین!
این کار رو توسط…
این کار رو توسط…