Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
980 of 1024 menu
◀ ▶

Метод ensureVisible

Метод ensureVisible класса WidgetTester прокручивает предка, пока виджет не окажется в видимой области. Дальше по этому виджету можно нажать или прочитать текст.

Синтаксис

await tester.ensureVisible(finder)

Параметры

ПараметрОписание
finderВиджет вне экрана.

Пример

Давайте прокрутить к нижнему Text:

import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; void main() { testWidgets('ev', (WidgetTester t) async { await t.pumpWidget( MaterialApp( home: Scaffold( body: ListView( children: [ const SizedBox(height: 800), const Text('abcde'), ], ), ), ), ); await t.ensureVisible(find.text('abcde')); expect(find.text('abcde'), findsOneWidget); }); }

ensureVisible покажет abcde.

Пример

Давайте ensureVisible перед tap:

import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; void main() { testWidgets('ev2', (WidgetTester t) async { await t.pumpWidget( MaterialApp( home: Scaffold( body: ListView( children: [ const SizedBox(height: 900), ElevatedButton( onPressed: () {}, child: const Text('12345'), ), ], ), ), ), ); await t.ensureVisible(find.text('12345')); await t.tap(find.text('12345')); expect(find.text('12345'), findsOneWidget); }); }

Кнопка станет доступна для tap.

Смотрите также

  • метод drag,
    ручная прокрутка
  • метод tap,
    после прокрутки
  • метод text,
    Finder
  • класс WidgetTester,
    API теста
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить