• Ian Hickson's avatar
    Shim package:test to avoid matcher issues (#20602) · 686d8f8a
    Ian Hickson authored
    * Upgrade everything except matcher.
    * Roll matcher (and test)
    * Adjust tests that depend on flutter:test directly to depend on a shim
    * Require use of package:test shim and remove other references to package:test
    686d8f8a
button_tap_test.dart 1.07 KB
// Copyright 2017 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

import 'package:flutter_driver/flutter_driver.dart';
import 'package:test/test.dart' hide TypeMatcher, isInstanceOf;

void main() {
  group('button tap test', () {
    FlutterDriver driver;

    setUpAll(() async {
      driver = await FlutterDriver.connect();
    });

    tearDownAll(() async {
      if (driver != null)
        driver.close();
    });

    test('tap on the button, verify result', () async {
        final SerializableFinder batteryLevelLabel = find.byValueKey('Battery level label');
        expect(batteryLevelLabel, isNotNull);

        final SerializableFinder button = find.text('Get Battery Level');
        await driver.waitFor(button);
        await driver.tap(button);

        String batteryLevel;
        while (batteryLevel == null || batteryLevel.isEmpty) {
          batteryLevel = await driver.getText(batteryLevelLabel);
        }
        expect(batteryLevel, isNotEmpty);
    });
  });
}