我想在Firebase测试实验室中使用espresso运行我的仪器测试,每次提交到GitLab中的一个分支。我已经使用Docker和Fastlane构建、部署和发布了应用程序,但我在google上找不到任何将测试实验室与这些工具集成在一起的东西。你们对此有什么了解吗?我可以用它来实现用GitLab的CI系统运行仪器测试。
发布于 2017-06-15 16:20:08
我们最近与Google Firebase合作,将此功能添加到Buddybuild中。基本上,如果你在你的应用程序上,我们将使用FTL在真实的设备上运行你的工具测试。更多信息可在此处找到:https://www.buddybuild.com/blog/running-android-ui-tests-on-physical-devices
很乐意回答你可能有的任何进一步的问题!
发布于 2017-06-15 16:45:32
可以使用gcloud从CI系统调用Test Lab。这里有关于如何在Jenkins和Circle CI中执行此操作的说明。
还有一个面向Test Lab用户的Slack频道。通过测试加入并找到# https://firebase.community -lab频道。那里的几个用户已经成功地将Test Lab连接到他们的CI系统。
发布于 2017-06-22 19:39:19
经过一段时间,并获得了更多使用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 "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命令(因为它用于运行所有的测试/构建/部署任务),以便将apks连同用于测试的设备一起发送到firebase。
https://stackoverflow.com/questions/44570756
复制相似问题