在 Firebase 测试实验室上运行多个测试用例

Asi*_*sis 5 integration-testing flutter firebase-test-lab

我正在尝试在 上运行我的集成测试Firebase Test Lab

flutter build apk -t lib/main_dev.dart
./gradlew app:assembleAndroidTest -Ptarget=lib/main_dev.dart
./gradlew app:assembleDebug -Ptarget=integration_test/login_test.dart
Run Code Online (Sandbox Code Playgroud)

该代码生成app-debug-androidTest.apkapp-debug.apk一旦我在Test Lab测试中上传它们,它们就会完美执行。

现在的问题是我在integration_test. 我不确定如何创建一个app-debug-androidTest.apk 包含 下所有测试用例的测试用例integration_test

我确实尝试了以下操作:

flutter build apk -t lib/main_dev.dart
./gradlew app:assembleAndroidTest -Ptarget=lib/main_dev.dart
./gradlew app:assembleDebug -Ptarget=test_driver/integration_test.dart
Run Code Online (Sandbox Code Playgroud)

但是这个测试卡在黑屏上,这很奇怪,但这是正确的行为,因为在本地设备中运行集成测试时,我们还需要提供目标和驱动程序。

所以对于本地我有一个脚本

flutter drive \
  --driver=test_driver/integration_test.dart \
  --target=integration_test/login_test.dart

flutter drive \
  --driver=test_driver/integration_test.dart \
  --target=integration_test/register_test.dart
Run Code Online (Sandbox Code Playgroud)

它运行所有集成代码。

所以我的问题是如何上传所有测试用例。

或者我们是否必须为每个测试用例进行构建

./gradlew app:assembleDebug -Ptarget=integration_test/login_test.dart
Run Code Online (Sandbox Code Playgroud)

然后将其上传到测试实验室,然后再次上传

./gradlew app:assembleDebug -Ptarget=integration_test/register_test.dart
Run Code Online (Sandbox Code Playgroud)

并再次上传?

Anh*_*ham 3

我刚刚遇到了同样的问题。为了供其他人将来参考,我所做的是将所有测试导入到一个文件中all_tests.dart

假设目录结构是

integration_test/
  test1.dart
  test2.dart
  test3.dart
  all_tests.dart
Run Code Online (Sandbox Code Playgroud)

在 中all_tests.dart,我导入了以下位置的所有测试:

import 'test1.dart' as test1;
import 'test2.dart' as test2;

void main() {
  test1.main();
  test2.main();
  ...
}
Run Code Online (Sandbox Code Playgroud)