首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用find.ancestor &后代在颤振集成测试中找到元素?

如何使用find.ancestor &后代在颤振集成测试中找到元素?
EN

Stack Overflow用户
提问于 2022-11-24 06:54:18
回答 1查看 19关注 0票数 1

我已经用下面的代码创建了颤振小部件,其中Tabs正在创建,如下面所示,代码片段中没有keys

如何找到Settings选项卡&点击它?这能用祖先或后代来完成吗?

这是tabs的图像

下面是应用程序代码片段。

代码语言:javascript
复制
// Imports...


class BottomNavigation extends StatelessWidget {
  final TabItem currentTab;
  final ValueChanged<TabItem> selectedTab;

  const BottomNavigation({
    super.key,
    required this.currentTab,
    required this.selectedTab,
  });

  @override
  Widget build(BuildContext context) {
    return BottomNavigationBar(
      currentIndex: TabItem.values.indexOf(currentTab),
      type: BottomNavigationBarType.fixed,
      items: [
        _buildItem(TabItem.home, context),
        _buildItem(TabItem.creditHealth, context),
        _buildItem(TabItem.setting, context),
      ],
      onTap: (index) => selectedTab(
        TabItem.values[index],
      ),
    );
  }

  BottomNavigationBarItem _buildItem(
    TabItem item,
    BuildContext context
    // var toolTip,
  ) {
    return BottomNavigationBarItem(
      // tooltip: toolTip,
      icon: SvgPicture.asset(
        svgF(tabIcons[item]!),
      ),
      label: context.translate(
        tabNameKeys[item]!,
      ),
    );
  }
}

EN

回答 1

Stack Overflow用户

发布于 2022-11-28 21:23:10

你应该能够通过文字点击:

代码语言:javascript
复制
import 'package:flutter_test/flutter_test.dart'

void main() {
  testWidgets('signs up', (WidgetTester tester) async {
    await tester.pumpWidget(YourApp());
    await tester.tap(find.text('Settings'));
}

如果您支持英语以外的语言,那么谨慎的做法是为您想要交互的小部件分配一个键,然后在测试中使用这些键。

代码语言:javascript
复制
// widget code
BottomNavigationBarItem(
  key: Key('settings'),
  icon: SvgPicture.asset(svgF(tabIcons[item]!)),
  label: context.translate(tabNameKeys[item]!),
);

// test code
await tester.tap(find.byKey(Key('settings')));
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74556690

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档