Flutter集成测试无法运行

3

我正在尝试使用基于此处示例的Flutter Driver编写一些集成测试:https://flutter.io/testing/。 我能够部署应用程序,但是我只收到等待应用程序响应的回复。 我真的不知道还要做什么,因为它只是坐着等待。 这是我在终端中看到的内容。

 flutter drive --target=test_driver/home_category_list_scroll.dart
 Using device Sampson's iPhone.
 Starting application: test_driver/home_category_list_scroll.dart
 Automatically signing iOS for device deployment using specified 
 development team in Xcode project: QDCF25JLN2
 Running pod install...                                       7.2s
 Starting Xcode build...                                          
 ├─Assembling Flutter resources...                   13.0s
 └─Compiling, linking and signing...                  7.5s
 Xcode build done.                                           27.6s
 Installing and launching...                                      
 flutter: Observatory listening on http://127.0.0.1:54774/
 00:00 +0: scrolling performance test (setUpAll)
 [info ] FlutterDriver: Connecting to Flutter application at 
 http://127.0.0.1:54270
 [info ] FlutterDriver: Waiting for application to start
 [info ] FlutterDriver: Waiting for application to start
 [info ] FlutterDriver: Waiting for application to start

这里是测试的前几行。
void main() {
group('scrolling performance test', () {
FlutterDriver driver;

setUpAll(() async {
  // Connects to the app
  driver = await FlutterDriver.connect(dartVmServiceUrl: 'http://127.0.0.1:54270');
});

tearDownAll(() async {
  if (driver != null) {
    // Closes the connection
    driver.close();
  }
});

test('measure', () async {

Flutter Doctor 输出:

flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel master, v0.5.8-pre.56, on Mac OS X 10.13.4 17E202, locale en-US)
[✓] Android toolchain - develop for Android devices (Android SDK 27.0.3)
[✓] iOS toolchain - develop for iOS devices (Xcode 9.4.1)
[✓] Android Studio (version 3.0)
 ✗ Flutter plugin not installed; this adds Flutter specific functionality.
 ✗ Dart plugin not installed; this adds Dart specific functionality.
[✓] IntelliJ IDEA Community Edition (version 2017.1.6)
[!] VS Code (version 1.24.1)
[✓] Connected devices (1 available)

! Doctor found issues in 1 category.

感谢您能给我提供任何想法。

Flutter:Observatory 正在监听 http://127.0.0.1:54774/,但您已经硬编码了 VM 服务的 URL 为 http://127.0.0.1:54270 - Jonah Williams
谢谢您的回复。我一直在苦苦挣扎。当我省略硬编码的URL时,调用获取URL的方法Platform.environment['VM_SERVICE_URL']总是返回null。我一直在努力弄清楚VM_SERVICE_URL应该是什么。您对dartVmServiceUrl应该是什么有什么想法吗?非常感谢您能提供的任何帮助! - user1026498
如果你把那个省略掉,它还能正常工作吗? - Jonah Williams
不,它不起作用。我收到了以下消息:“无法确定连接到应用程序的URL。要么设置VM_SERVICE_URL环境变量,要么在FlutterDriver.connect()方法中提供显式URL。” - user1026498
driver = await FlutterDriver.connect(); 应该会找到默认的 Observatory。如果没有,我会作为一个健全性测试,创建一个新的默认项目(计数器应用程序),并确认提供的集成测试运行正常。然后再从那里开始。 - mmccabe
2个回答

0

你能否检查一下是否设置了 Xcode 构建配置,可能会覆盖 flutter drive 运行的目标文件?我发现一个类似的问题,对于他们的集成测试,设置 flavors 起到了作用。


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接