你有任何资源解释如何使用Firebasetesting实验室与GitLabpipe道?

我想在Firebasetesting实验室中使用espresso运行仪器testing,每次提交给GitLab中的一个分支。 我已经使用Docker和Fastlane构build,部署和发布了应用程序,但是我无法在Google上find任何将testing实验室与这些工具集成在一起的东西。 你们知道什么,我可以用它来实现与GitLab的CI系统一起运行仪器testing吗?

我们最近与Google Firebase合作,将此function添加到Buddybuild。 基本上,如果您在应用程序中,我们将使用FTL在真实设备上运行仪器testing。 更多信息可以在这里find: https : //www.buddybuild.com/blog/running-android-ui-tests-on-physical-devices

很高兴回答您可能有任何进一步的问题!

可以使用gcloud从CI系统调用testing实验室。 有关于如何为Jenkins和Circle CI执行此操作的说明。

Test Lab用户还有一个Slack频道。 通过https://firebase.communityjoin,并find#test-lab频道。 那里的几个用户已经成功地将testing实验室连接到他们的CI系统。

经过一段时间,并获得更多的经验与docker,我发现如何安装和设置一个容器中的服务帐户的gcloud。 这些命令在谷歌的gcloud镜像的 Dockerfile中是正确的 。 我只是将它们复制到我的Dockerfile中,因为我不想使用它们的映像,但在我的gcloud CLI中。

另外,在gcloud的文档之后,我可以构build命令,使用服务帐户login而无需用户交互。 唯一需要的是将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 "docker@yetanothertest91d46.iam.gserviceaccount.com" 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命令(因为它被用来运行所有的testing/构build/部署任务),以及将用于testing的设备发送到firebase。