颤振测试在 try catch 块中失败

时间:2021-01-22 15:19:51

标签: flutter flutter-test flutterdriver

我正在为 Android 应用编写 Flutter 测试。这是我的自定义功能,用于点击屏幕上的元素。我需要它来收集元素的坐标。在应用程序中有一个弹出窗口,它在登录后随机出现,我需要关闭它。但是在运行测试之前我不知道这个窗口是否出现。

我在线添加了 try catch,关闭了这个窗口。因此,如果窗口出现,测试工作正常,但如果没有出现,则测试失败:

VMServiceFlutterDriver: get_offset message is taking a long time to complete...

这是我用来点击元素的函数。

dynamic tapAndGetCoordinates(String key, FlutterDriver driver) async {
  try {
    var coordinates = await driver.getCenter(find.byValueKey(key));
    var dx = coordinates.dx * pixelRatio;
    var dy = coordinates.dy * pixelRatio;
    keyCoordinates[key] = [dx, dy];
    print(keyCoordinates.toString());
  }catch(_){
  }
  await driver.tap(find.byValueKey(key), timeout: Duration(milliseconds: 10000));
  print(key + ' tapped');
}

获取坐标的代码有什么问题?如果元素不存在,而代码在 try catch 块中,为什么会失败?我希望上面的代码应该忽略获取元素坐标的所有异常。

0 个答案:

没有答案
相关问题