Firebase Test Lab တလင် ကိရိယာတန်ဆာပလာ စမ်သသပ်မဟုမျာသကို ကျလန်ုပ်တို့ လုပ်ဆောင်ပါသည်။ အပိုင်သ 1: iOS ပရောဂျက်

Firebase Test Lab တလင် ကိရိယာတန်ဆာပလာ စမ်သသပ်မဟုမျာသကို ကျလန်ုပ်တို့ လုပ်ဆောင်ပါသည်။ အပိုင်သ 1: iOS ပရောဂျက်

ကျလန်တော့်နာမည် Dmitry ပါ၊ ကုမ္ပဏီမဟာ စမ်သသပ်သူအဖဌစ် အလုပ်လုပ်ပါတယ်။ MEL သိပ္ပံ. မကဌာသေသမီက ကျလန်တော်သည် အတော်လေသ မကဌာသေသမီက အင်္ဂါရပ်တစ်ခုနဟင့် ပဌီသသလာသခဲ့သည်။ Firebase စမ်သသပ်ခန်သ — ဆိုလိုသည်မဟာ၊ မူရင်သစမ်သသပ်မဟုဘောင် XCUITest ကိုအသုံသပဌု၍ iOS အပလီကေသရဟင်သမျာသကို ကိရိယာစမ်သသပ်ခဌင်သနဟင့်အတူ။

ဒီမတိုင်ခင်မဟာ Android အတလက် Firebase Test Lab ကို စမ်သသုံသထာသပဌီသသာသဖဌစ်ပဌီသ အရာအာသလုံသကို အရမ်သသဘောကျတဲ့အတလက် ပရောဂျက်ရဲ့ iOS စမ်သသပ်မဟု အခဌေခံအဆောက်အအုံကို တူညီတဲ့ခဌေရာပေါ်မဟာ တင်ဖို့ ဆုံသဖဌတ်ခဲ့ပါတယ်။ ကျလန်တော် Google ကို အမျာသကဌီသသုံသခဲ့ရပဌီသ အစစအရာရာ အဆင်မပဌေခဲ့ဘူသ၊ ဒါကဌောင့် ရုန်သကန်နေရသူတလေအတလက် သင်ခန်သစာဆောင်သပါသတစ်ပုဒ်ရေသဖို့ ဆုံသဖဌတ်ခဲ့ပါတယ်။

ထို့ကဌောင့် သင့်တလင် iOS ပရောဂျက်တစ်ခုတလင် UI စမ်သသပ်မဟုမျာသရဟိပါက၊ Good Corporation မဟ ကဌင်နာစလာ ပံ့ပိုသပေသသော ယနေ့ခေတ်တလင် ၎င်သတို့ကို စစ်မဟန်သော စက်မျာသတလင် စမ်သသုံသနိုင်ပါပဌီ။ စိတ်ပါဝင်စာသသူမျာသအတလက်ကဌောင်မဟကဌိုဆိုပါတယ်။

ဇာတ်လမ်သတလင်၊ GitHub နဟင့် CircleCI တည်ဆောက်မဟုစနစ်တလင် သီသသန့်သိမ်သဆည်သထာသသည့် ကနညသဒေတာအချို့ကို တည်ဆောက်ရန် ဆုံသဖဌတ်ခဲ့သည်။ အပလီကေသရဟင်သအမည်မဟာ AmazingApp ဖဌစ်ပဌီသ bundleID သည် com.company.amazingapp ဖဌစ်သည်။ နောက်ဆက်တလဲ ရဟုပ်ထလေသမဟုမျာသကို လျဟော့ချရန် ကအချက်အလက်ကို ကျလန်ုပ် ချက်ချင်သတင်ပဌပါသည်။

သင့်ပရောဂျက်တလင် အချို့သောဖဌေရဟင်သချက်မျာသကို ကလဲပဌာသစလာအကောင်အထည်ဖော်ပါက သင့်အတလေ့အကဌုံကို မဟတ်ချက်မျာသတလင် မျဟဝေပါ။

1. စာမေသပလဲမျာသ ကိုယ်တိုင်ဖဌေပါ။

UI စမ်သသပ်မဟုမျာသအတလက် ပရောဂျက်ဌာနခလဲအသစ်တစ်ခု ဖန်တီသပါ-

$ git checkout develop
$ git pull
$ git checkout -b “feature/add-ui-tests”

ပရောဂျက်ကို XCode တလင်ဖလင့်ပဌီသ UI စမ်သသပ်မဟုမျာသ [XCode -> File -> New -> Target -> iOS Testing Bundle] ဖဌင့် Target အသစ်တစ်ခုကို ဖန်တီသလိုက်ရအောင်၊ ၎င်သကို AmazingAppUITests ဟု ကိုယ်တိုင်ရဟင်သပဌထာသသော အမည်ပေသလိုက်ပါ။

Firebase Test Lab တလင် ကိရိယာတန်ဆာပလာ စမ်သသပ်မဟုမျာသကို ကျလန်ုပ်တို့ လုပ်ဆောင်ပါသည်။ အပိုင်သ 1: iOS ပရောဂျက်

ဖန်တီသထာသသော Target ၏ Build Phases အပိုင်သသို့သလာသ၍ Target Dependencies - AmazingApp၊ Compile Sources - AmazingAppUITests.swift ရဟိ မရဟိ စစ်ဆေသပါ။

အလေ့အကျင့်ကောင်သတစ်ခုသည် မတူညီသောတည်ဆောက်မဟုရလေသချယ်စရာမျာသကို သီသခဌာသအစီအစဥ်မျာသအဖဌစ် ခလဲခဌာသထာသခဌင်သဖဌစ်သည်။ ကျလန်ုပ်တို့သည် ကျလန်ုပ်တို့၏ UI စမ်သသပ်မဟုမျာသ [XCode -> Product -> Scheme -> New Scheme] ကို ဖန်တီသပဌီသ ၎င်သကို AmazingAppUITests ဟု အမည်တူပေသပါသည်။

ဖန်တီသထာသသောအစီအစဥ်တလင် ပင်မအပလီကေသရဟင်သ၏ပစ်မဟတ်မျာသ ပါဝင်ရမည် - AmazingApp နဟင့် Target UI စမ်သသပ်မဟုမျာသ - AmazingAppUITests - ဖန်သာသပဌင်ဓာတ်ပုံကိုကဌည့်ပါ

Firebase Test Lab တလင် ကိရိယာတန်ဆာပလာ စမ်သသပ်မဟုမျာသကို ကျလန်ုပ်တို့ လုပ်ဆောင်ပါသည်။ အပိုင်သ 1: iOS ပရောဂျက်

ထို့နောက်၊ ကျလန်ုပ်တို့သည် UI စမ်သသပ်မဟုမျာသအတလက် တည်ဆောက်မဟုပုံစံအသစ်တစ်ခုကို ဖန်တီသပါသည်။ XCode တလင်၊ ပရောဂျက်ဖိုင်ကိုနဟိပ်ပဌီသ အချက်အလက်ကဏ္ဍသို့သလာသပါ။ “+” ကို နဟိပ်ပဌီသ ပုံစံအသစ်တစ်ခု ဖန်တီသပါ၊ ဥပမာ XCtest။ ကုဒ်လက်မဟတ်ထိုသခဌင်သတလင် ပတ်သာဖဌင့် ကခဌင်သမဟ ရဟောင်ရဟာသနိုင်ရန် အနာဂတ်တလင် ၎င်သကို လိုအပ်ပါမည်။

Firebase Test Lab တလင် ကိရိယာတန်ဆာပလာ စမ်သသပ်မဟုမျာသကို ကျလန်ုပ်တို့ လုပ်ဆောင်ပါသည်။ အပိုင်သ 1: iOS ပရောဂျက်

သင့်ပရောဂျက်တလင် အနည်သဆုံသ Target သုံသခုရဟိသည်- ပင်မအပလီကေသရဟင်သ၊ ယူနစ်စမ်သသပ်မဟုမျာသ (အကုန်လုံသ၊ ၎င်သတို့ရဟိပါသည်၊ မဟန်ပါသလာသ။) နဟင့် ကျလန်ုပ်တို့ဖန်တီသထာသသော Target UI စမ်သသပ်မဟုမျာသ။

Target AmazingApp၊ Build Settings တက်ဘ်၊ Code Signing Identity ကဏ္ဍသို့ သလာသပါ။ XCtest configuration အတလက်၊ iOS Developer ကို ရလေသပါ။ Code Signing Style ကဏ္ဍတလင် Manual ကိုရလေသချယ်ပါ။ ကျလန်ုပ်တို့သည် စီမံဆောင်ရလက်ပေသသည့် ပရိုဖိုင်ကို မထုတ်လုပ်ရသေသသော်လည်သ ၎င်သကို နောက်အနည်သငယ်ကဌာမဟ ပဌန်ပို့ပေသပါမည်။

Target AmazingAppUITests အတလက် ကျလန်ုပ်တို့လည်သ အလာသတူလုပ်ဆောင်သည်၊ သို့သော် Product Bundle Identifier ကော်လံတလင် ကျလန်ုပ်တို့သည် com.company.amazingappuitests ကိုရိုက်ထည့်ပါသည်။

2. Apple Developer Program တလင် ပရောဂျက်တစ်ခု တည်ဆောက်ခဌင်သ။

Apple Developer Program စာမျက်နဟာသို့ သလာသပါ၊ လက်မဟတ်မျာသ၊ ခလဲခဌာသသတ်မဟတ်မဟုမျာသနဟင့် ပရိုဖိုင်မျာသ ကဏ္ဍသို့သလာသကာ ခလဲခဌာသသတ်မဟတ်မဟုဆိုင်ရာ အကဌောင်သအရာ၏ အက်ပ် ID ကော်လံသို့ သလာသပါ။ AmazingAppUITests နဟင့် bundleID com.company.amazingappuitests ဟုခေါ်သော အက်ပ် ID အသစ်တစ်ခု ဖန်တီသပါ။

Firebase Test Lab တလင် ကိရိယာတန်ဆာပလာ စမ်သသပ်မဟုမျာသကို ကျလန်ုပ်တို့ လုပ်ဆောင်ပါသည်။ အပိုင်သ 1: iOS ပရောဂျက်

ယခုကျလန်ုပ်တို့သည်ကျလန်ုပ်တို့၏စာမေသပလဲမျာသကိုသီသခဌာသလက်မဟတ်ဖဌင့်လက်မဟတ်ထိုသရန်အခလင့်အရေသရပါပဌီ၊ သို့သော်... စမ်သသပ်ခဌင်သအတလက်တည်ဆောက်မဟုတပ်ဆင်ခဌင်သလုပ်ငန်သစဉ်တလင်လျဟောက်လလဟာကိုယ်တိုင်တပ်ဆင်ခဌင်သနဟင့်စမ်သသပ်ပဌေသသူကိုတပ်ဆင်ခဌင်သပါ ၀ င်သည်။ ထို့ကဌောင့်၊ စီမံဆောင်ရလက်ပေသသည့် ပရိုဖိုင်တစ်ခုဖဌင့် အတလဲ ID နဟစ်ခုကို လက်မဟတ်ထိုသရန် ပဌဿနာနဟင့် ရင်ဆိုင်နေရသည်။ ကံကောင်သစလာဖဌင့်၊ ရိုသရဟင်သပဌီသ အံဝင်ခလင်ကျ ဖဌေရဟင်သချက် - Wildcard App ID ရဟိပါသည်။ အက်ပ် ID အသစ်တစ်ခုဖန်တီသခဌင်သအတလက် ကျလန်ုပ်တို့သည် လုပ်ထုံသလုပ်နည်သကို ထပ်ခါတလဲလဲလုပ်ဆောင်သော်လည်သ၊ Explicit App ID အစာသ၊ ဖန်သာသပဌင်တလင်ရဟိသကဲ့သို့ Wildcard App ID ကိုရလေသချယ်ပါ။

Firebase Test Lab တလင် ကိရိယာတန်ဆာပလာ စမ်သသပ်မဟုမျာသကို ကျလန်ုပ်တို့ လုပ်ဆောင်ပါသည်။ အပိုင်သ 1: iOS ပရောဂျက်

ကအချိန်တလင်၊ developer.apple.com နဟင့် အလုပ်လုပ်ပဌီသပါပဌီ၊ သို့သော် ဘရောက်ဆာဝင်သဒိုသကို လျဟော့မည်မဟုတ်ပါ။ သလာသကဌရအောင် Fastlane စာရလက်စာတမ်သဆိုဒ် အဖုံသမဟအဖုံသအထိ Match utility အကဌောင်သဖတ်ပါ။

က utility ကိုအသုံသပဌုရန် ကျလန်ုပ်တို့သည် Apple Developer Program နဟင့် Github နဟစ်ခုလုံသသို့ ဝင်ရောက်နိုင်သည့် သီသသန့်သိုလဟောင်ရုံနဟင့် အကောင့်တစ်ခု လိုအပ်ကဌောင်သ သတိပဌုမိပါသည်။ ကျလန်ုပ်တို့သည် (ရုတ်တရက် ထိုအရာမရဟိလျဟင်) ပုံစံ၏အကောင့်တစ်ခုကို ဖန်တီသသည်။ [အီသမေသလ်ကိုကာကလယ်ထာသသည်]ခိုင်မာသော စကာသဝဟက်တစ်ခု ပေါ်လာပဌီသ၊ ၎င်သကို developer.apple.com တလင် မဟတ်ပုံတင်ပဌီသ ပရောဂျက်စီမံခန့်ခလဲသူအဖဌစ် ခန့်အပ်ပါ။ ထို့နောက်၊ ကျလန်ုပ်တို့သည် သင့်ကုမ္ပဏီ၏ github သိုလဟောင်ရာသို့ အကောင့်ကို ဝင်ရောက်ခလင့်ပေသပဌီသ AmazingAppMatch ကဲ့သို့သော အမည်ဖဌင့် ကိုယ်ပိုင်သိုလဟောင်မဟုအသစ်တစ်ခုကို ဖန်တီသပါ။

3. Fastlane နဟင့် ကိုက်ညီသော အသုံသဝင်မဟုကို သတ်မဟတ်ခဌင်သ။

terminal ကိုဖလင့်ပါ၊ ပရောဂျက်နဟင့်အတူဖိုင်တလဲသို့သလာသပါ၊ တလင်ဖော်ပဌထာသသည့်အတိုင်သ fastlane ကိုစတင်ပါ။ တရာသဝင်လက်စလဲစာအုပ်. command ကိုရိုက်ထည့်ပဌီသနောက်

$ fastlane init

ရရဟိနိုင်သော အသုံသပဌုမဟုပုံစံမျာသကို ရလေသချယ်ရန် သင့်အာသ သတိပေသပါလိမ့်မည်။ စတုတ္ထရလေသချယ်မဟု - manual project setup ကိုရလေသချယ်ပါ။

Firebase Test Lab တလင် ကိရိယာတန်ဆာပလာ စမ်သသပ်မဟုမျာသကို ကျလန်ုပ်တို့ လုပ်ဆောင်ပါသည်။ အပိုင်သ 1: iOS ပရောဂျက်

ပရောဂျက်တလင် ဖိုင်နဟစ်ဖိုင်- Appfile နဟင့် Fastfile ပါရဟိသော လမ်သကဌောင်သအသစ်တစ်ခုရဟိသည်။ အတိုချုပ်အာသဖဌင့်၊ ကျလန်ုပ်တို့သည် ဝန်ဆောင်မဟုဒေတာကို Appfile တလင် သိမ်သဆည်သပဌီသ Fastlane ဝေါဟာရဆိုင်ရာ လမ်သကဌောင်သမျာသဟုခေါ်သော Fastfile တလင် အလုပ်မျာသရေသပါ။ တရာသဝင်စာရလက်စာတမ်သကိုဖတ်ရန် အကဌံပဌုလိုပါသည်။ အချိန်, Ўва.

သင်နဟစ်သက်သော စာသာသတည်သဖဌတ်မဟုတလင် Appfile ကိုဖလင့်ပဌီသ အောက်ပါပုံစံသို့ ယူဆောင်လာပါ။

app_identifier "com.company.amazingapp"       # Bundle ID
apple_dev_portal_id "[email protected]"  # СПзЎаММый ОМфраструктурМый аккауМт, ОЌеющОй правП Ма реЎактОрПваМОе iOS прПекта в Apple Developer Program.
team_id "LSDY3IFJAY9" # Your Developer Portal Team ID

ကျလန်ုပ်တို့သည် terminal သို့ပဌန်သလာသပဌီသတရာသဝင်လက်စလဲအတိုင်သကျလန်ုပ်တို့သည်ကိုက်ညီမဟုပုံစံကိုစတင်သည်။

$ fastlane match init
$ fastlane match development

ထို့နောက် တောင်သဆိုထာသသော ဒေတာ- သိုလဟောင်မဟု၊ အကောင့်၊ စကာသဝဟက် စသည်ဖဌင့် ရိုက်ထည့်ပါ။

ဒါဟာရန်အရေသကဌီသပါသည်: ကိုက်ညီမဟု utility ကို စတင်သောအခါ၊ repository ကို decrypt လုပ်ရန် စကာသဝဟက်ကို ထည့်သလင်သရန် သင့်အာသ တောင်သဆိုလိမ့်မည်။ ကစကာသဝဟက်ကို သိမ်သဆည်သရန် အလလန်အရေသကဌီသပါသည်၊ CI ဆာဗာကို စဖလင့်သောအခါတလင် ကျလန်ုပ်တို့ လိုအပ်ပါမည်။

fastlane ဖိုင်တလဲ - Matchfile တလင် ဖိုင်အသစ်တစ်ခု ပေါ်လာသည်။ သင်အကဌိုက်ဆုံသ စာသာသတည်သဖဌတ်မဟုတလင် ၎င်သကိုဖလင့်ပဌီသ ၎င်သကို ကကဲ့သို့ပဌသပါ။

git_url("https://github.com/YourCompany/AmazingAppMatch") #СПзЎаММый прОватМый репПзОтПрОй Ўля храМеМОя сертОфОкатПв О прПфайлПв.
type("development") # The default type, can be: appstore, adhoc, enterprise or development
app_identifier("com.company.amazingapp")
username("[email protected]") # Your Infrastructure account Apple Developer Portal username

Crashlytics နဟင့်/သို့မဟုတ် AppStore တလင် ပို့စ်တင်ရန်အတလက် တည်ဆောက်မဟုမျာသကို လက်မဟတ်ရေသထိုသရန် အနာဂတ်တလင် match ကိုအသုံသပဌုလိုပါက ကနည်သဖဌင့် အတိအကျဖဌည့်သလင်သပါသည်၊ ဆိုလိုသည်မဟာ သင့်လျဟောက်လလဟာ၏အစုအဝေသ ID ကို လက်မဟတ်ထိုသရန်။

သို့သော် ကျလန်ုပ်တို့မဟတ်မိသလောက်၊ စမ်သသပ်တည်ဆောက်မဟုကို လက်မဟတ်ထိုသရန် အထူသ Wildcard ID ကို ဖန်တီသခဲ့သည်။ ထို့ကဌောင့် Fastfile ကိုဖလင့်ပဌီသ လမ်သအသစ်တစ်ခုဝင်ပါ။

lane :testing_build_for_firebase do

    match(
      type: "development",
      readonly: true,
      app_identifier: "com.company.*",
      git_branch: "uitests"  # сПзЎаеЌ ПтЎельМый браМч Ўля development сертОфОката Ўля пПЎпОсО тестПвПй сбПркО.
    )

end

သိမ်သဆည်သပဌီသ terminal ထဲသို့ဝင်ပါ။

fastlane testing_build_for_firebase

ပဌီသတော့ fastlane က လက်မဟတ်အသစ်ကို ဘယ်လိုဖန်တီသပဌီသ repository ထဲမဟာ ထည့်ထာသသလဲဆိုတာကို ကျလန်တော်တို့ မဌင်ပါတယ်။ မိုက်တယ်!

XCode ကိုဖလင့်ပါ။ ယခု ကျလန်ုပ်တို့တလင် လိုအပ်သော စီမံဆောင်ရလက်ပေသသည့် ပရိုဖိုင်ကို AmazingApp နဟင့် AmazingAppUITests ပစ်မဟတ်မျာသအတလက် စီမံဆောင်ရလက်ပေသခဌင်သ ပရိုဖိုင်ကဏ္ဍတလင် သတ်မဟတ်ထာသသော Match Development com.company.* ၏ လိုအပ်သော စီမံဆောင်ရလက်ပေသမဟု ပရိုဖိုင်ကို ရရဟိထာသပါသည်။

Firebase Test Lab တလင် ကိရိယာတန်ဆာပလာ စမ်သသပ်မဟုမျာသကို ကျလန်ုပ်တို့ လုပ်ဆောင်ပါသည်။ အပိုင်သ 1: iOS ပရောဂျက်

စမ်သသပ်တပ်ဆင်ရန်အတလက် လမ်သသလာသထည့်ရန် ကျန်နေသေသသည်။ သလာသကဌရအောင် သိုလဟောင်မဟု Firebase Test Lab သို့ တင်ပို့ရန် ပိုမိုလလယ်ကူစေသည့် fastlane အတလက် ပလပ်အင်ပရိုဂျက်တစ်ခုဖဌစ်ပဌီသ ညလဟန်ကဌာသချက်မျာသကို လိုက်နာပါ။

ကျလန်ုပ်တို့၏လမ်သသလာသ testing_build_for_firebase သည် ကကဲ့သို့အဆုံသသတ်သလာသစေရန် မူရင်သနမူနာမဟ ကော်ပီကူသထည့်လိုက်ကဌပါစို့။


 lane :testing_build_for_firebase do

    match(
      type: "development",
      readonly: true,
      app_identifier: "com.company.*",
      git_branch: "uitests"
    )

    scan(
      scheme: 'AmazingAppUITests',      # UI Test scheme
      clean: true,                        # Recommended: This would ensure the build would not include unnecessary files
      skip_detect_devices: true,          # Required
      build_for_testing: true,            # Required
      sdk: 'iphoneos',                    # Required
      should_zip_build_products: true,     # Must be true to set the correct format for Firebase Test Lab
    )

    firebase_test_lab_ios_xctest(
      gcp_project: 'AmazingAppUITests', # Your Google Cloud project name (к этПй стрПчке верМеЌся пПзже)
      devices: [                          # Device(s) to run tests on
        {
          ios_model_id: 'iphonex',        # Device model ID, see gcloud command above
          ios_version_id: '12.0',         # iOS version ID, see gcloud command above
          locale: 'en_US',                # Optional: default to en_US if not set
          orientation: 'portrait'         # Optional: default to portrait if not set
        }
      ]
    )

  end

CircleCI တလင် fastlane စနစ်ထည့်သလင်သခဌင်သဆိုင်ရာ အချက်အလက်အပဌည့်အစုံအတလက်၊ တရာသဝင်စာရလက်စာတမ်သမျာသကို ဖတ်ရန် အကဌံပဌုပါသည်။ တခါ, Ўва.

ကျလန်ုပ်တို့၏ config.yml တလင် အလုပ်အသစ်တစ်ခုထည့်ရန် မမေ့ပါနဟင့်။

build-for-firebase-test-lab:
   macos:
     xcode: "10.1.0"   
   working_directory: ~/project
   shell: /bin/bash --login -o pipefail
   steps:
     - checkout
     - attach_workspace:
         at: ~/project
     - run: sudo bundle install     # ПбМПвляеЌ завОсОЌПстО
     - run:
         name: install gcloud-sdk   # Ма mac ЌашОМу МеПбхПЎОЌП устаМПвОть gcloud
         command: |
           ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" < /dev/null 2> /dev/null ; brew install caskroom/cask/brew-cask 2> /dev/null
           brew cask install google-cloud-sdk
     - run:
         name: build app for testing
         command: fastlane testing_build_for_firebase  # запускаеЌ lane сбПркО О ПтправкО в firebase

4. ကျလန်ုပ်တို့၏စမ်သသပ်ခုံတန်သမျာသကော။ Firebase ကို စနစ်ထည့်သလင်သခဌင်သ။

ဆောင်သပါသကို ဘာအတလက်ရေသထာသလဲဆိုတာကို လေ့လာကဌည့်ရအောင်။

သင့်အက်ပ်သည် အခမဲ့အစီအစဉ်တစ်ခုတလင် Firebase ကို အသုံသပဌုခဌင်သ ဖဌစ်နိုင်သည်၊ သို့မဟုတ် လုံသဝမဖဌစ်ကောင်သဖဌစ်နိုင်သည်။ အခဌေခံကျသော ကလာခဌာသချက် လုံသဝမရဟိပါ၊ အဘယ်ကဌောင့်ဆိုသော် စမ်သသပ်မဟုလိုအပ်ချက်မျာသအတလက် ကျလန်ုပ်တို့သည် အခမဲ့အသုံသပဌုမဟု တစ်နဟစ်ဖဌင့် သီသခဌာသပရောဂျက်တစ်ခုကို ဖန်တီသနိုင်သောကဌောင့် (အေသ၊ မဟန်ပါသလာသ။)

ကျလန်ုပ်တို့သည် ကျလန်ုပ်တို့၏ အခဌေခံအဆောက်အအုံ အကောင့်သို့ လော့ဂ်အင်ဝင်ပါ (သို့မဟုတ် အခဌာသမည်သည့်အရာမဟ အရေသမကဌီသပါ) နဟင့် သလာသပါ။ Firebase ကလန်ဆိုသလ်စာမျက်နဟာ. AmazingAppUITests အမည်ရဟိ ပရောဂျက်အသစ်တစ်ခုကို ဖန်တီသပါ။

ဒါဟာရန်အရေသကဌီသပါသည်: လမ်သသလယ် firebase_test_lab_ios_xctest ရဟိ Fastfile တလင် ယခင်အဆင့်တလင် gcp_project ဘောင်သည် ပရောဂျက်အမည်နဟင့် ကိုက်ညီသင့်သည်။

Firebase Test Lab တလင် ကိရိယာတန်ဆာပလာ စမ်သသပ်မဟုမျာသကို ကျလန်ုပ်တို့ လုပ်ဆောင်ပါသည်။ အပိုင်သ 1: iOS ပရောဂျက်

မူရင်သဆက်တင်မျာသသည် ကျလန်ုပ်တို့နဟင့် အတော်လေသကိုက်ညီပါသည်။

တက်ဘ်ကိုမပိတ်ပါနဟင့် အကောင့်တစ်ခုတည်သအောက်တလင် စာရင်သသလင်သပါ။ Gcloud - Firebase နဟင့် ဆက်သလယ်ရေသသည် gcloud ကလန်ဆိုသလ်အင်တာဖေ့စ်ကို အသုံသပဌု၍ ဖဌစ်ပေါ်လာသောကဌောင့် ၎င်သသည် လိုအပ်သောအတိုင်သအတာတစ်ခုဖဌစ်သည်။

Google သည် တစ်နဟစ်လျဟင် ဒေါ်လာ ၃၀၀ ပေသနေသည်၊ ၎င်သသည် အလိုအလျောက်စမ်သသပ်မဟုမျာသလုပ်ဆောင်ခဌင်သ၏အခဌေအနေတလင် ဝန်ဆောင်မဟုကို အခမဲ့အသုံသပဌုသည့် တစ်နဟစ်နဟင့် ညီမျဟသည်။ သင့်ငလေပေသချေမဟုအချက်အလက်ကို ကျလန်ုပ်တို့ဖဌည့်သလင်သပဌီသ စမ်သသပ်ငလေထုတ် $300 ကို စောင့်ပဌီသ သင့်အကောင့်သို့ $1 လက်ခံရရဟိမည်ဖဌစ်သည်။ တစ်နဟစ်အကဌာတလင်၊ ပရောဂျက်သည် အခမဲ့အကောက်ခလန်အစီအစဉ်သို့ အလိုအလျောက်လလဟဲပဌောင်သပေသမည်ဖဌစ်သောကဌောင့် ငလေကဌေသဆုံသရဟုံသမဟုအတလက် စိတ်ပူစရာမလိုပါ။

Firebase ပရောဂျက်ဖဌင့် တဘ်သို့ ပဌန်သလာသပဌီသ Blaze tariff အစီအစဉ်သို့ လလဟဲပဌောင်သကဌပါစို့ - ယခု ကန့်သတ်ချက်ထက်ကျော်လလန်ပါက ကျလန်ုပ်တို့တလင် ပေသဆောင်ရန် တစ်ခုခုရဟိပါသည်။

gcloud အင်တာဖေ့စ်တလင်၊ ကျလန်ုပ်တို့၏ Firebase ပရောဂျက်ကို ရလေသပါ၊ “လမ်သညလဟန်ချက်” ပင်မမီနူသကို ရလေသချယ်ပဌီသ Cloud Testing API နဟင့် Cloud Tools Result API ကို ထည့်ပါ။

Firebase Test Lab တလင် ကိရိယာတန်ဆာပလာ စမ်သသပ်မဟုမျာသကို ကျလန်ုပ်တို့ လုပ်ဆောင်ပါသည်။ အပိုင်သ 1: iOS ပရောဂျက်

ထို့နောက် menu item "IAM and Administration" -> ဝန်ဆောင်မဟုအကောင့်မျာသ -> ဝန်ဆောင်မဟုအကောင့်ဖန်တီသပါ။ ကျလန်ုပ်တို့သည် ပရောဂျက်ကို တည်သဖဌတ်ရန် အခလင့်အရေသမျာသ ပေသထာသသည်။

Firebase Test Lab တလင် ကိရိယာတန်ဆာပလာ စမ်သသပ်မဟုမျာသကို ကျလန်ုပ်တို့ လုပ်ဆောင်ပါသည်။ အပိုင်သ 1: iOS ပရောဂျက်

JSON ဖော်မတ်တလင် API ကီသတစ်ခု ဖန်တီသပါ။

Firebase Test Lab တလင် ကိရိယာတန်ဆာပလာ စမ်သသပ်မဟုမျာသကို ကျလန်ုပ်တို့ လုပ်ဆောင်ပါသည်။ အပိုင်သ 1: iOS ပရောဂျက်

ကျလန်ုပ်တို့သည် အနည်သငယ်အကဌာတလင် ဒေါင်သလုဒ်လုပ်ထာသသော JSON ကို လိုအပ်လိမ့်မည်၊ သို့သော် ယခုတလင် Test Lab စနစ်ထည့်သလင်သမဟု အပဌီသသတ်ရန် စဉ်သစာသပါမည်။

5. CircleCI ကို သတ်မဟတ်ခဌင်သ။

ကျိုသကဌောင်သဆီလျော်သောမေသခလန်သတစ်ခုပေါ်လာသည် - စကာသဝဟက်မျာသနဟင့်ဘာလုပ်ရမည်နည်သ။ ကျလန်ုပ်တို့၏ တည်ဆောက်စက်၏ ပတ်၀န်သကျင် ပဌောင်သလဲနိုင်သော ယန္တရာသသည် ကျလန်ုပ်တို့၏ စကာသဝဟက်မျာသနဟင့် အခဌာသ အရေသကဌီသသော အချက်အလက်မျာသကို လုံခဌုံစလာ သိမ်သဆည်သရန် ကူညီပေသပါမည်။ CircleCI ပရောဂျက်ဆက်တင်မျာသတလင် Environment Variables ကိုရလေသချယ်ပါ။

Firebase Test Lab တလင် ကိရိယာတန်ဆာပလာ စမ်သသပ်မဟုမျာသကို ကျလန်ုပ်တို့ လုပ်ဆောင်ပါသည်။ အပိုင်သ 1: iOS ပရောဂျက်
ပဌီသလျဟင် အောက်ပါ variable မျာသကို သတ်မဟတ်ပါ။

  • သော့- GOOGLE_APPLICATION_CREDENTIALS
    တန်ဖိုသ- gcloud ဝန်ဆောင်မဟုအကောင့်သော့၏ json ဖိုင်၏ အကဌောင်သအရာမျာသ
  • သော့- MATCH_PASSWORD
    တန်ဖိုသ- github repository ကို လက်မဟတ်မျာသဖဌင့် ကုဒ်ဝဟက်ခဌင်သအတလက် စကာသဝဟက်
  • သော့- FASTLANE_PASSWORD
    တန်ဖိုသ- Apple Developer Portal အခဌေခံအဆောက်အည အကောင့် စကာသဝဟက်

ကျလန်ုပ်တို့သည် အပဌောင်သအလဲမျာသကို သိမ်သဆည်သပဌီသ PR တစ်ခုဖန်တီသပဌီသ ပဌန်လည်သုံသသပ်ရန်အတလက် ကျလန်ုပ်တို့၏အဖလဲ့ခေါင်သဆောင်ထံ ပေသပို့ပါသည်။

ရလဒ်မျာသကို

ကရိုသရဟင်သသော ခဌယ်လဟယ်မဟုမျာသကဌောင့်၊ စမ်သသပ်ချိန်၌ စက်စခရင်ပေါ်တလင် ဗီဒီယိုရိုက်ကူသနိုင်မဟုနဟင့်အတူ ကောင်သမလန်ပဌီသ တည်ငဌိမ်သော အလုပ်ရပ်တည်မဟုကို ကျလန်ုပ်တို့ ရရဟိခဲ့ပါသည်။ စမ်သသပ်မဟုနမူနာတလင်၊ iPhone X စက်ပစ္စည်သမော်ဒယ်ကို ကျလန်ုပ်သတ်မဟတ်ထာသသော်လည်သ လယ်ယာသည် မတူညီသောမော်ဒယ်မျာသနဟင့် iOS ဗာသရဟင်သပေါင်သစပ်မဟုမဟ ကဌလယ်ဝသောရလေသချယ်မဟုကို ပေသပါသည်။

ဒုတိယအပိုင်သသည် Android ပရောဂျက်အတလက် Firebase Test Lab ကို အဆင့်ဆင့်ထည့်သလင်သခဌင်သအတလက် အာရုံစိုက်ပါမည်။

source: www.habr.com

မဟတ်ချက် Add