Flutter 如何自动化颤振集成测试命令?

Flutter 如何自动化颤振集成测试命令?,flutter,integration-testing,Flutter,Integration Testing,我已经阅读并尝试了使用颤振进行集成测试。我是按照这个指南来的 现在,要运行集成测试,我必须键入以下命令: flutter drive --target=test_driver/app.dart 我的问题是,有没有一种方法可以在androidstudio内部自动执行此操作,这样我就不必手动键入命令。我宁愿单击一个按钮并运行集成测试,也不愿反复键入命令 我是新来的,所以任何建议都将不胜感激。提前谢谢。不确定您是否找到了问题的答案,但我将在这里发布解决方案。希望能有帮助 在Android Stud

我已经阅读并尝试了使用颤振进行集成测试。我是按照这个指南来的

现在,要运行集成测试,我必须键入以下命令:

flutter drive --target=test_driver/app.dart
我的问题是,有没有一种方法可以在androidstudio内部自动执行此操作,这样我就不必手动键入命令。我宁愿单击一个按钮并运行集成测试,也不愿反复键入命令


我是新来的,所以任何建议都将不胜感激。提前谢谢。

不确定您是否找到了问题的答案,但我将在这里发布解决方案。希望能有帮助

  • 在Android Studio中,打开
    运行/编辑配置对话框
    ,然后选择
    编辑配置
    ,如下所示:
  • 单击+按钮并选择
    Dart命令行应用程序
    configuration
  • 为配置指定名称(例如:integration.dart)并选择以下选项:
  • Dart文件:具有集成测试的Dart文件的路径。(例如:应用程序测试dart)

    工作目录:项目的根路径

    环境变量:单击此字段最右侧的文件夹图标,并创建新的环境变量,如下所示:

    请注意,
    http
    url在您的情况下会有所不同。为了查明这一点,在终端中运行颤振命令,并注意控制台中显示的
    天文台url
    。就我而言,情况如下:

    flatter:天文台监听http://127.0.0.1:51150/

    将其替换为您的,然后单击“确定”

    正确完成上述步骤并运行
    integration.dart
    配置后,您应该能够从Android Studio运行命令并在IDE中查看结果


    我正在使用
    Visual Studio
    ,并且我已经创建了一个脚本文件
    integration\u test.sh

    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
    
    ..
    
    执行测试。我只是运行
    bash脚本/integration\u test.sh

    我还试图通过
    task添加
    launch.json
    。json
    仍然无法理解。一旦一切正常,我会更新答案

    launch.json的代码

    {
        "version": "0.2.0",
        "configurations": [
            {
                "name": "Flutter Dev",
                "program": "lib/main_dev.dart",
                "request": "launch",
                "type": "dart"
            },
    
            ...
    
            {
                "name": "Flutter Integration Test",
                "preLaunchTask": "IntegrationTest",
            }
        ]
    }
    
    {
        "version": "0.2.0",
        "tasks":[
            {
                "taskName": "IntegrationTest",
                "command": "scripts/integration_test.sh",
                "isShellCommand": true
            }
        ]
    }
    
    task.json的代码

    {
        "version": "0.2.0",
        "configurations": [
            {
                "name": "Flutter Dev",
                "program": "lib/main_dev.dart",
                "request": "launch",
                "type": "dart"
            },
    
            ...
    
            {
                "name": "Flutter Integration Test",
                "preLaunchTask": "IntegrationTest",
            }
        ]
    }
    
    {
        "version": "0.2.0",
        "tasks":[
            {
                "taskName": "IntegrationTest",
                "command": "scripts/integration_test.sh",
                "isShellCommand": true
            }
        ]
    }
    

    好的~谢谢!:我尝试了这个解决方案,但我得到了以下错误:VMServiceFlutterDriver:连接到VM需要异常长的时间。拜托,有人能给点建议如何解决这个问题吗?