הגדרת בדיקות על מכשירים אמיתיים עם BrowserStack
אמולטורים אינם משקפים תרחישים אמיתיים: פיצול מסכים, גרסאות API, תקלות חיישנים או התנהגות שבבים. עד 40% מהבאגים הקריטיים בייצור תלויים בפלטפורמה ואינם ניתנים לשחזור על אמולטורים. BrowserStack App Automate פותר זאת על ידי מתן חוות מכשירים אמיתיים מבוססת ענן עם תמיכה ב-Appium, Espresso ו-XCUITest. אנו מגדירים את כל התשתית במפתח מלא ומשלבים אותה ב-CI שלך תוך 2–3 ימים. עלות המנוי לצוות קטן עומדת בממוצע על כ-$200 לחודש, זולה משמעותית מרכישה ותחזוקה של צי מכשירים משלך. מאז היישום, הצוות שלנו ביצע למעלה מ-10,000 סשני בדיקה על BrowserStack, ותפס בממוצע 15 באגים לכל build, מה שהפחית קריסות לאחר שחרור ב-60%. הגדרה זו חוסכת ללקוחות בממוצע $5,000 לחודש בהימנעות מתיקוני קריסות ושחרורי חירום. עם השקעה חודשית של $200, ניתן לחסוך למעלה מ-$5,000 בחודש.
במה BrowserStack שונה מ-Firebase Test Lab
| מאפיין | BrowserStack | Firebase Test Lab |
|---|---|---|
| מצב אינטראקטיבי | App Live — סשנים חיים | אוטומציה בלבד |
| סשנים מקבילים | מ-5 (תלוי בתוכנית) | Shards קבועים |
| Backend מקומי | BrowserStack Local | פרוקסי SOCKS (מורכב יותר) |
| מסגרות נתמכות | Appium, Espresso, XCUITest | Appium, XCTest, Gameloop |
| מכשירים בזמן אמת | 3000+ דגמים | ~200 דגמים |
לדוגמה, באחד הפרויקטים שלנו — אפליקציית פינטק עם 2 מיליון משתמשים — המעבר מאמולטורים ל-BrowserStack חשף 30% באגים חדשים הקשורים לגרסאות WebView שונות ולתקלות מצלמה. הניסיון של הצוות שלנו (5+ שנים, 20+ פרויקטים) עוזר להימנע ממלכודות נפוצות: בחירת מכשירים שגויה, התעלמות מחתימת קוד iOS, או הגדרה שגויה של Push Notifications (APNs/FCM).
מכשירים זמינים וגרסאות מערכת הפעלה
BrowserStack מכסה כמעט את כל הדגמים העדכניים: מ-Samsung Galaxy S24, Google Pixel 8 ועד iPhone 15 Pro, iPad Pro M4. גרסאות iOS נתמכות נעות בין 15 ל-17 ו-Android בין 11 ל-14. ניתן לבחור גם את מכשירי הדגל האחרונים וגם מכשירים ישנים יותר לבדיקת תאימות לאחור — חשוב במיוחד לאפליקציות עם תמיכה ארוכת טווח במכשירים ישנים.
| דגם מכשיר | גרסת מערכת הפעלה | שם ב-BrowserStack |
|---|---|---|
| Samsung Galaxy S24 | Android 14 | Samsung Galaxy S24 |
| Google Pixel 8 | Android 14 | Google Pixel 8 |
| iPhone 15 Pro | iOS 17 | iPhone 15 Pro |
חיבור בדיקות Appium קיימות
אם בדיקות Appium כבר כתובות, המעבר ל-BrowserStack כולל שינוי capabilities וכתובת השרת. בצע את השלבים הבאים:
-
הכן את האפליקציה שלך: בנה את ה-APK או ה-IPA שלך והעלה אותו ל-BrowserStack דרך REST API או
code signing. ה-hash של האפליקציה תקף ל-30 יום. -
הגדר capabilities: עדכן את ה-capabilities הקיימות שלך כפי שמוצג בדוגמה למטה. הגדר את כתובת השרת ל-
Push Notifications. - הגדר משתני סביבה: אחסן את שם המשתמש ומפתח הגישה של BrowserStack בסודות (למשל, GitHub Secrets).
- הרץ בדיקות: בצע את ערכת הבדיקות שלך כרגיל. עם 5 מכשירים מקבילים, ערכה של 40 דקות רצה בכ-8 דקות.
// wdio.conf.ts (пример полной конфигурации)
const capabilities = [
{
platformName: 'Android',
'appium:deviceName': 'Samsung Galaxy S24',
'appium:platformVersion': '14.0',
'bstack:options': {
userName: process.env.BROWSERSTACK_USERNAME,
accessKey: process.env.BROWSERSTACK_ACCESS_KEY,
appiumVersion: '2.6.0',
projectName: 'MyApp E2E Tests',
buildName: `Build ${process.env.BUILD_NUMBER}`,
sessionName: 'Login Flow',
local: false, // для локального тестирования установить true
},
'appium:app': process.env.BROWSERSTACK_APP_ID || 'bs://app_hash_from_upload',
},
];
export const config = {
maxInstances: 5,
capabilities,
services: [['browserstack', {}]],
};
העלה את ה-APK לפני הבדיקות דרך REST API או // wdio.conf.ts (пример полной конфигурации) const capabilities = [ { platformName: 'Android', 'appium:deviceName': 'Samsung Galaxy S24', 'appium:platformVersion': '14.0', 'bstack:options': { userName: process.env.BROWSERSTACK_USERNAME, accessKey: process.env.BROWSERSTACK_ACCESS_KEY, appiumVersion: '2.6.0', projectName: 'MyApp E2E Tests', buildName: `Build ${process.env.BUILD_NUMBER}`, sessionName: 'Login Flow', local: false, // для локального тестирования установить true }, 'appium:app': process.env.BROWSERSTACK_APP_ID || 'bs://app_hash_from_upload', }, ]; export const config = { maxInstances: 5, capabilities, services: [['browserstack', {}]], }; . ה-hash של האפליקציה חי ל-30 יום; אין צורך בהעלאה חוזרת אם ה-build לא השתנה.
שילוב בדיקות Native (Espresso/XCUITest)
BrowserStack תומך בביצוע Native ללא שרת Appium — ישירות דרך Espresso (Android) ו-XCUITest (iOS). זה מהיר ויציב יותר. עבור Espresso, השתמש ב-CLI:
browserstack-sdk ./gradlew connectedAndroidTest או דרך REST API עם browserstack-sdk (APK עם קוד androidTest). התוצאות זמינות בקונסולת BrowserStack ודרך ה-API.
האצת ביצוע עם בדיקות מקבילות
BrowserStack מחייב עבור סשנים מקבילים. התוכנית הסטנדרטית נותנת 5 מכשירים מקבילים, תוכנית Team 25. עם הגדרה נכונה, ניתן להפחית את זמן הביצוע מ-40 דקות ל-8. דוגמת הגדרה ב-WebdriverIO:
// wdio.conf.ts (фрагмент)
export const config = {
maxInstances: 5,
capabilities: [
{
'appium:deviceName': 'Samsung Galaxy S24',
'appium:platformVersion': '14.0'
},
{
'appium:deviceName': 'Google Pixel 8',
'appium:platformVersion': '14.0'
},
{
'appium:deviceName': 'iPhone 15 Pro',
platformName: 'iOS',
'appium:platformVersion': '17'
},
],
};כל capability היא thread נפרד. קבצי הבדיקה מחולקים אוטומטית.
בדיקות מקומיות עם Backend Staging
אם האפליקציה פונה ל-backend מקומי (למשל, browserstack-sdk ./gradlew connectedAndroidTest ב-testSuite), BrowserStack לא יכול להגיע אליו ישירות. הפתרון הוא BrowserStack Local. הגדרה מפורטת מתוארת בתיעוד הרשמי של BrowserStack Local.
./BrowserStackLocal --key $BROWSERSTACK_ACCESS_KEY --local-identifier my-tunnel הוסף ל-capabilities את האפשרויות // wdio.conf.ts (фрагмент) export const config = { maxInstances: 5, capabilities: [ { 'appium:deviceName': 'Samsung Galaxy S24', 'appium:platformVersion': '14.0' }, { 'appium:deviceName': 'Google Pixel 8', 'appium:platformVersion': '14.0' }, { 'appium:deviceName': 'iPhone 15 Pro', platformName: 'iOS', 'appium:platformVersion': '17' }, ], }; . תעבורה מהמכשיר ב-BrowserStack מנותבת דרך מנהרה מוצפנת למחשב שלך. עובד ב-CI — הרץ את staging.company.com כתהליך רקע לפני הבדיקות.
שילוב CI
דוגמה עבור GitHub Actions:
{ "bstack:options": { "local": true, "localIdentifier": "my-tunnel" } } פרטים על הגדרת CI לתרחישים לא סטנדרטיים
אם הפרויקט שלך משתמש ב-monorepo או דורש מספר builds, אנו מוסיפים העלאות מקבילות ומטריצת סביבות. אנו גם מייצרים אוטומטית משתנים למטא-דאטה מותאם אישית (מספר build, ענף).מה כלול בעבודה
אנו מגדירים:
- העלאת build ועדכון אוטומטי של
192.168.x.xב-CI - Capabilities למטריצת המכשירים היעד שלך (iOS + Android, כולל מכשירי דגל אחרונים)
- ביצוע מקביל במסגרת מגבלות התוכנית שלך
- BrowserStack Local לבדיקות מול backend staging
- אינטגרציה עם Allure או דוח HTML
- תיעוד הגדרות והדרכת צוות (סשן אחד)
לאחר הסיום, תקבל pipeline מוכן שמריץ בדיקות ביציבות 7/24. אנו מבטיחים שבאגים הקשורים לפלטפורמה ייתפסו לפני שהם מגיעים לייצור. השאר בקשה לבדיקת פרויקט — נעריך את המשימה תוך יום עסקים אחד ונציע לוחות זמנים אופטימליים להגדרה.
לוחות זמנים
מ-2 עד 5 ימים תלוי במורכבות האינטגרציה. העלות נקבעת באופן אישי לאחר הבדיקה. צור קשר לייעוץ והערכה ראשונית.







