تستهای خودکار بنر رضایت با Playwright: راهنمای عملی
چرا تست رضایت را خودکار کنیم
بررسیهای دستی رضایت بهراحتی نادیده گرفته میشوند و بهراحتی اشتباه از آب درمیآیند. یک تگ تازه که بازاریابی اضافه کرده، یک بهروزرسانی قالب یا یک بارگذار اسکریپت بازنویسیشده میتواند بیصدا ردیابها را پیش از رضایت اجرا کند و تا وقتی مشتری یا نهاد نظارتی متوجه نشود کسی نمیفهمد. تستهای خودکار مرورگر پرسش «آیا بنر ما هنوز درست رفتار میکند؟» را به چیزی تبدیل میکنند که در هر انتشار اجرا میشود. Playwright انتخاب مناسبی است چون مرورگرهای واقعی را کنترل میکند، میتواند درخواستهای شبکه را رهگیری کند و زمینههای مرورگر تازه و جداگانه در اختیارتان میگذارد.
زمینههای تست
هر تست باید از یک زمینهٔ مرورگر تمیز، بدون کوکی و بدون حافظهٔ محلی، شروع شود. این کار بازدیدکنندهٔ بار اول را شبیهسازی میکند. بهجای استفادهٔ دوباره از یک صفحه، برای هر تست زمینهٔ جدید بسازید، وگرنه انتخابی که یک تست ذخیره کرده به تست بعدی نشت میکند.
تست ۱: پیش از رضایت چیزی اجرا نمیشود
از لحظهٔ شروع بارگذاری صفحه به همهٔ درخواستهای شبکه گوش دهید. صفحه را بارگذاری کنید، منتظر بیکار شدن شبکه بمانید و به بنر دست نزنید. سپس درخواستها را با فهرستی از دامنههای ردیاب که خودتان نگه میدارید، مانند تحلیل، تبلیغات و پیکسلهای شبکههای اجتماعی، مقایسه کنید. اگر هر درخواستی به دامنهای از فهرست برود تست شکست میخورد. فهرست کوکیها را هم از زمینه بخوانید و اگر کوکی غیرضروری وجود دارد تست را رد کنید.
تست ۲: رد کردن همهچیز را خاموش نگه میدارد
- صفحه را در زمینهای تازه بارگذاری کنید.
- روی کنترل رد در بنر کلیک کنید.
- به دو سه صفحهٔ دیگر بروید، از جمله یکی که رسانهٔ جاسازیشده دارد.
- تأیید کنید که هیچ درخواست ردیابی ارسال نشده و هیچ کوکی غیرضروری تنظیم نشده است.
- دوباره بارگذاری کنید و تأیید کنید بنر پنهان میماند و انتخاب ماندگار است.
تست ۳: پذیرش آنچه را باید فعال میکند
روی پذیرش کلیک کنید و تأیید کنید تگهای مورد انتظار اکنون اجرا میشوند، مثلاً درخواست تحلیل شما. این تست در برابر شکست مقابل محافظ است: بنری که رضایت را ثبت میکند اما هرگز اسکریپتها را آزاد نمیکند و بیصدا از شما داده و درآمد میگیرد.
تست ۴: انتخابهای جزئی
لایهٔ ترجیحات را باز کنید، فقط یک مقصود را فعال کنید و ذخیره کنید. تأیید کنید تگهای مربوط به آن مقصود اجرا میشوند و تگهای مربوط به بقیه اجرا نمیشوند. یک فایل نگاشت کوچک از مقصود به دامنههای مورد انتظار نگه دارید تا تست واضح خوانده شود و بهروزرسانیاش آسان باشد.
تست ۵: پسگرفتن
بپذیرید، سپس تنظیمات را از طریق پیوند همیشگی دوباره باز کنید و رضایت را پس بگیرید. تأیید کنید درخواستهای بعدی به ردیابها متوقف میشود و وضعیت رضایت ذخیرهشده تغییر را نشان میدهد. توجه کنید که کوکیهایی که قبلاً تنظیم شدهاند ممکن است نیاز به حذف صریح داشته باشند، پس سیاست خود را مشخص کنید و برای آن تست بنویسید.
تست ۶: سیگنالها
اگر از Google Consent Mode استفاده میکنید، data layer را در زمینهٔ صفحه پیش و پس از هر انتخاب بخوانید و تأیید کنید مقادیر وضعیت رضایت مطابقت دارند: بهطور پیشفرض denied و برای دستههایی که بازدیدکننده پذیرفته granted. اگر از رشتهٔ TCF استفاده میکنید، آن را از طریق TCF API بخوانید و تأیید کنید پس از انتخاب وجود دارد و آن را بازتاب میدهد.
قابلاعتماد نگه داشتن تستها
- بهجای کلاسهای CSS که با بهروزرسانی طراحی تغییر میکنند، از انتخابگرهای پایدار مانند ویژگیهای تست یا نقشهای دسترسپذیر استفاده کنید.
- بهجای تأخیرهای ثابت، منتظر شرطهای صریح بمانید.
- تستها را روی نسخهٔ مرحلهای اجرا کنید که همان چیدمان تگ محیط تولید را دارد.
- نسخهٔ کوچکی از مجموعه را زمانبندیشده هم اجرا کنید، نه فقط هنگام استقرار، چون اسکریپتهای شخص ثالث بدون انتشار شما تغییر میکنند.
- مناطق اصلی را که خدمت میدهید با تنظیم موقعیت جغرافیایی یا با بازنویسی منطقهای که CMP شما ارائه میدهد آزمون کنید.
FlexyConsent چگونه جا میگیرد
FlexyConsent از IAB TCF 2.4، IAB GPP v1.1 و Google Consent Mode v2 پشتیبانی میکند، پس سیگنالهایی که در تستها بررسی میکنید استاندارد هستند و از صفحه قابلخواندناند. بنر به ۵۸ زبان در دسترس است؛ اگر به چند زبان خدمت میدهید، تستی بگنجانید که دستکم یک نسخهٔ غیرانگلیسی را بارگذاری کند.
نکات کلیدی
- برای شبیهسازی بازدیدکنندهٔ بار اول، برای هر تست یک زمینهٔ مرورگر تازه استفاده کنید.
- روی درخواستهای شبکه و کوکیها تأیید بگیرید، نه فقط ظاهر بنر.
- چهار مسیر را پوشش دهید: بدون تعامل، رد، پذیرش و پسگرفتن.
- سیگنالهای رضایت را در data layer یا TCF API هم بررسی کنید.
- مجموعه را هنگام انتشار و بهصورت زمانبندیشده اجرا کنید تا انحراف ناشی از اسکریپتهای شخص ثالث را بگیرید.