可以/应该使用Firebase TestLab来运行我们的集成测试套件,依赖于Firebase模拟器和填充它们的脚本?&



我们一直在为我们的Flutter项目开发一个集成测试套件。我们能够在Android和iOS模拟器上本地运行它,并在chrome浏览器上运行我们的网页版应用。现在,我们想把我们的集成测试套件作为我们在GitLab上的CI管道的一部分来运行。

因为我们不希望我们的集成测试与实时Firebase项目交互,所以我们使用Firebase模拟器。我们有一个bash脚本来启动模拟器,用数据填充Firestore模拟器,用测试帐户填充Auth模拟器(通过运行typescript/javascript脚本)。

但是,我找不到关于如何(或者甚至可能)运行模拟器并在Firebase test Lab上使用测试数据填充它们的任何文档。

缩小,使用Test Lab来运行您的集成测试套件是明智的吗?我希望能从从事过专业扑动项目的DevOps人员那里得到一些建议!

我看了下面的页面,但找不到我问题的答案:https://firebase.google.com/docs/test-lab/android/instrumentation-testhttps://firebase.google.com/docs/test-lab/android/continuous此外,很难通过谷歌或堆栈溢出找到好的答案,因为测试实验室也调用他们的虚拟设备模拟器,产生关于这些模拟器而不是Firebase模拟器的结果。

我尝试过的一些Google/Stack overflow搜索:

  • "firebase emulators" "test lab" site:stackoverflow.com
  • flutter "firestore" "test lab"
  • firebase test lab run custom script

使用Test Lab来运行您的集成测试套件是明智的吗?

我想说是的——它是最成熟的设备实验室平台之一。它有很好的文档,被广泛使用。你只需要意识到它的局限性——你刚刚碰到了其中一个:)

我找不到任何关于如何(或者甚至可能)运行模拟器并在Firebase test Lab上使用测试数据填充它们的文档。

这是不可能的-您不能在测试结束之前或之后运行任何脚本。你没有任何允许你运行Firebase模拟器的shell访问权限。

PS我认为你可以尝试破解周围,使其工作-例如通过运行Firebase模拟器,例如GitHub行动,暴露他们到互联网,然后在测试实验室运行测试(与API url在你的应用程序更改为Firebase模拟器)。但我怀疑这样做是否值得——为什么不直接创建第二个firebase项目作为"登台/测试"使用呢?环境?

最新更新