我想在Firebase測試實驗室中使用espresso運行我的儀器測試,每次提交到GitLab中的某個分支。我已經使用Docker和Fastlane構建,部署和發佈應用程序,但是我無法在Google上找到任何將測試實驗室與這些工具集成在一起的任何內容。你們對此有所瞭解,我可以用它來實現使用GitLab的CI系統來運行儀器測試嗎?您是否有任何資源解釋如何使用Firebase測試實驗室和GitLab管道?
1
A
回答
2
我們最近與Google Firebase合作,將此功能添加到Buddybuild。基本上,如果你在應用程序上運行,我們將使用FTL在真實設備上運行儀器測試。更多信息可以在這裏找到:https://www.buddybuild.com/blog/running-android-ui-tests-on-physical-devices
高興地回答你可能有任何進一步的問題!
1
可以使用gcloud從CI系統調用測試實驗室。有關於如何爲Jenkins和Circle CI執行此操作的說明。
測試實驗室用戶還有一個Slack通道。通過https://firebase.community加入並找到#test-lab頻道。那裏的幾個用戶已經成功地將測試實驗室連接到他們的CI系統。
0
經過一段時間並獲得了更多Docker經驗,我發現如何在容器中安裝和設置帶有服務帳戶的gcloud。這些命令在google's gcloud image's Dockerfile中是正確的。我只是將它們複製到我的Dockerfile中,因爲我不想使用它們的映像,但在我的gcloud CLI中。
也跟在gcloud's documentation我可以建立命令登錄與服務帳戶沒有用戶交互。唯一需要的是將keyfile.json複製到容器中。
gcloud auth activate-service-account $GOOGLE_AUTH_EMAIL --key-file /path-to/keyfile.json --project $GOOGLE_PROJECT_ID
最後,這裏是我添加到原來的Dockerfile部分:
ENV GOOGLE_PROJECT_ID "yetanothertest-91d46"
ENV GOOGLE_AUTH_EMAIL "[email protected]"
ENV GOOGLE_KEY "keyfile.json"
ADD keyfile.json /home
RUN apt-get update && apt-get install -qqy \
curl gcc python-dev python-setuptools apt-transport-https lsb-release && \
easy_install -U pip && \
pip install -U crcmod
RUN export CLOUD_SDK_REPO="cloud-sdk-$(lsb_release -c -s)" && \
echo "deb https://packages.cloud.google.com/apt $CLOUD_SDK_REPO main" > /etc/apt/sources.list.d/google-cloud-sdk.list
RUN curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -
RUN apt-get update && apt-get install -y google-cloud-sdk
RUN apt-get -y remove gcc python-dev python-setuptools
RUN rm -rf /var/lib/apt/lists/*
RUN gcloud config set core/disable_usage_reporting true && \
gcloud config set component_manager/disable_update_check true
RUN gcloud auth activate-service-account $GOOGLE_AUTH_EMAIL --key-file /home/keyfile.json --project $GOOGLE_PROJECT_ID
剩下的是什麼做的是在FASTLANE添加gcloud命令(因爲它是被用來運行所有測試/建築/部署任務)發送到firebase以及將用於測試的設備。
相關問題
- 1. 安卓雲測試實驗室vs Firebase測試實驗室
- 2. 如何檢測Firebase測試實驗室中的運行狀況
- 3. 如何獲取Firebase測試實驗室結果的通知?
- 4. Facebook如何登錄Firebase測試實驗室?
- 5. 如何在Firebase測試實驗室中並行運行Espresso儀器測試?
- 6. Firebase測試實驗室Instrumented測試錯誤:NoClassDefFoundError
- 7. Firebase測試實驗室可以運行Monkeyrunner測試嗎?
- 8. Google firebase測試實驗室兼容性測試
- 9. Firebase測試實驗室,Robo測試創建問題。
- 10. Google雲端測試實驗室是否支持Appium測試?
- 11. Gitlab CI:如何使用docker和shell runner在管道中運行測試
- 12. 是否有解釋LINQ to object運算符如何實現的資源?
- 13. 如何使maven使用測試資源
- 14. 如果有任何鏈接/引用失敗的實驗室測試404
- 15. 使用Capybara測試資產管道
- 16. ToolStripMenuItem是否有任何底層的非託管資源?
- 17. 如何在DiagnosticOrder和DiagnosticReport FHIR資源中表示實驗室面板和/或實驗室項目的信息?
- 18. 任何人都可以解釋這個「資源庫 - 實體」嗎?
- 19. 如何使用JUnit測試解釋器?
- 20. 如何測試after_sign_in_path_for(資源)?
- 21. 您是否使用過任何C++解釋器(不是編譯器)?
- 22. 如何測試Concourse管道
- 23. 任何人都可以解釋爲什麼StreamWriter是非託管資源。
- 24. 是否有任何測試PHP SPL接口的開源SimpleTest測試用例
- 25. 是否有任何演示網站可讓您使用Silverlight測試IronRuby?
- 26. 如何使用Angular資源和firebase-admin檢索Firebase密鑰?
- 27. 我無法找到Microsoft測試和實驗室管理器2010測試版2
- 28. Git實驗室管道Android項目
- 29. 如何使用JUnit測試驗證實體類 - Hibernate @Column註釋
- 30. Firebase測試實驗室:有沒有辦法在生產APK上運行測試,而不是上傳APK?
你是說你不能使用gcloud命令行來運行測試? –
我可以使用它,但我不知道在使用gitlab時應該把它放在哪裏。在測試項目中,我能夠在jenkins的firebase文檔之後使用gcloud運行測試。然而,真正的項目是在gitlab中託管的,我期望它能夠自動運行測試。 –