如何通过 Github Actions CI 在 Linux 桌面上自动测试 Flutter 应用程序

Use*_*ebo 7 gui-testing flutter github-actions flutter-linux flutter-integration-test

我们希望通过 Github Actions 使我们的集成测试能够在 Linux 桌面(ubuntu-latest)上运行。

命令是

flutter config --enable-linux-desktop
flutter test -d linux integration_test
Run Code Online (Sandbox Code Playgroud)

但我们总是得到一个错误:

Error waiting for a debug connection: The log reader stopped unexpectedly, or never started.
//...
TestDeviceException(Unable to start the app on the device.)
  package:flutter_tools/src/test/integration_test_device.dart 61:7  IntegrationTestTestDevice.start
Run Code Online (Sandbox Code Playgroud)

Github Actions 是否无法在 CPU 上足够快地处理 GPU/GUI 相关的内容或者发生了什么?这可能吗?我发现只有一个存储库可以为 Linux 环境调用类似的命令。

谢谢!

Use*_*ebo 0

我看到这个问题,Xvfb在答案中提到,它有效:

jobs:
  linux:
    runs-on: ubuntu-latest
    ...
    steps:
        run: |
          export DISPLAY=:99
          sudo Xvfb -ac :99 -screen 0 1280x1024x24 > /dev/null 2>&1 &
          flutter test -d linux integration_test
Run Code Online (Sandbox Code Playgroud)