#flutter #testing #integration #flutter-test #flutterdriver
#флаттер #тестирование #интеграция #флаттер-тест #flutterdriver
Вопрос:
Элемент, который мне нужно найти, находится (в дочернем элементе):
static Widget _buildProjectCategoryWidget(BuildContext context, String name) {
final themeData = Theme.of(context);
final primaryTextTheme = themeData.primaryTextTheme;
return Container(
padding: const EdgeInsets.symmetric(horizontal: 8.0, vertical: 5.0),
decoration: BoxDecoration(borderRadius: BorderRadius.circular(13.0), color: FlAppStyles.altButtonColor),
child: Text(name, style: primaryTextTheme.textSmall),
);
Я попытался найти дочерний элемент с помощью этого, но у меня ошибка драйвера: не удалось выполнить нажатие из-за удаленной ошибки:
SerializableFinder message = find.text("mytext");
await driver.waitFor(message);
expect(await driver.getText(message), "mytext"); await driver.tap(buttonChangeProfession);
Я новичок в интеграционном тестировании flutter, не знаю, что не так, пожалуйста, помогите. Я также попытался добавить ключ и найти элемент по нему, но дело в том, что мне нужно найти текст этого элемента.
Комментарии:
1. Это помогло бы узнать, что такое полное сообщение об ошибке и как
buttonChangeProfession
определяется finder.
Ответ №1:
Попробуйте это, если вы хотите убедиться, что этот текст существует на экране:
expect(
await driver.getText(find.text("enter text you want to find")),
"enter text you want to find");
Попробуйте это, если вы хотите нажать на этот текст:
final elementFinder= find.text('enter text you want to tap');
await driver.waitFor(elementFinder);
await driver.tap(elementFinder);
Пожалуйста, получите этот текст, проверив его с помощью Devtool, если вы не уверены в этом, надеюсь, это поможет