2

我有一个颤振应用程序。目前我正在尝试使用测试驱动程序进行自动化集成测试。

这就是我想要做的。

Scenario:
- Click on Button
- Check if the Progress Dialog appeared

我想知道是否有可能获得第二步的布尔值。我试图做这样的方法:

Future<bool> loadingIndicatorVisible () async {
    var a = _driver.waitFor(find.byType("ProgressDialogType.Normal"));    
  }

但我无法用上述方法做到这一点。

此进度对话框包含文本“正在加载...”,但我也无法使用 find.text 执行此操作。

有没有办法正确地做到这一点?

4

1 回答 1

0

这对我有帮助......我希望将来有人会看到它有用

    isVisible(SerializableFinder finder, {duration = 1}) async {
    try {
      await _driver.waitFor(finder, timeout: Duration(seconds: duration));
      return true;
    } catch(exception) {
      return false;
    }
  }

我使用了 finder,它看起来像这样:

final loadingIndicator = find.text("Loading...");

当然,这是我要调用的方法:

Future<bool> loadingIndicatorVisible () async {
    return await isVisible(loadingIndicator);
  }
于 2020-10-21T11:34:40.100 回答