Put waitFor
back in keyboard_textfield_test integration test (#102315)
This commit is contained in:
parent
b63689de69
commit
06314a073d
@ -62,11 +62,10 @@ class _MyHomePageState extends State<MyHomePage> {
|
||||
Text('$offset',
|
||||
key: const ValueKey<String>(keys.kOffsetText),
|
||||
),
|
||||
Text(
|
||||
isSoftKeyboardVisible ? 'keyboard visible' : 'keyboard hidden',
|
||||
key: const ValueKey<String>(keys.kKeyboardVisibleView),
|
||||
if (isSoftKeyboardVisible) const Text(
|
||||
'keyboard visible',
|
||||
key: ValueKey<String>(keys.kKeyboardVisibleView),
|
||||
),
|
||||
const ElevatedButton(onPressed: debugDumpApp, child: Text('dump app')),
|
||||
Expanded(
|
||||
child: ListView(
|
||||
key: const ValueKey<String>(keys.kListView),
|
||||
|
@ -40,23 +40,10 @@ void main() {
|
||||
// Bring up keyboard
|
||||
await driver.tap(textFieldFinder);
|
||||
|
||||
const int keyboardTimeout = 3;
|
||||
bool keyboardVisible = false;
|
||||
for (int i = 0; i < keyboardTimeout; i++) {
|
||||
await Future<void>.delayed(const Duration(seconds: 1));
|
||||
final String keyboardVisibilityText = await driver.getText(keyboardVisibilityIndicatorFinder);
|
||||
keyboardVisible = keyboardVisibilityText == 'keyboard visible';
|
||||
if (keyboardVisible) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (!keyboardVisible) {
|
||||
await driver.tap(find.text('dump app'));
|
||||
}
|
||||
|
||||
// TODO(jmagman): Remove timeout once flake has been diagnosed. https://github.com/flutter/flutter/issues/96787
|
||||
expect(keyboardVisible, isTrue);
|
||||
// The blinking cursor may have animation. Do not wait for it to finish.
|
||||
await driver.runUnsynchronized(() async {
|
||||
await driver.waitFor(keyboardVisibilityIndicatorFinder);
|
||||
});
|
||||
|
||||
// Ensure that TextField is visible again
|
||||
await driver.waitFor(textFieldFinder);
|
||||
|
Loading…
x
Reference in New Issue
Block a user