Как получить текст из диалога выполнения с помощью драйвера тестирования Flutter

У меня есть приложение Flutter. В настоящее время я пытаюсь выполнить автоматические интеграционные тесты с помощью тестового драйвера.

Это то, что я пытаюсь сделать.

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

Мне было интересно, можно ли каким-то образом получить логическое значение второго шага. Я пытался использовать такие методы:

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

но я не смог сделать это с помощью указанного метода.

В этом диалоговом окне отображается текст «Загрузка ...», но я также не смог сделать это с помощью find.text.

Есть ли способ сделать это правильно?


person Apuna12    schedule 20.10.2020    source источник


Ответы (1)


Это кое-что мне помогло ... Надеюсь, что кому-то в будущем это пригодится

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

И я использовал поисковик, который выглядел так:

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

И, конечно же, это метод, который я вызывал:

Future<bool> loadingIndicatorVisible () async {
    return await isVisible(loadingIndicator);
  }
person Apuna12    schedule 21.10.2020