首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在React Native中查找具有排毒功能的TabNavigator选项卡项

在React Native中查找具有排毒功能的TabNavigator选项卡项
EN

Stack Overflow用户
提问于 2018-03-05 12:24:46
回答 3查看 4.6K关注 0票数 4

我正在我的React Native项目中使用React导航,我正在为使用Detox设置自动化测试。

我尝试使用react-devtools查看组件树,但无法确定哪个元素代表选项卡按钮本身。

我还尝试通过元素的文本查找元素,如下所示:

代码语言:javascript
复制
await element(by.text('My Tab Button')).tap();

但这是通过“找不到UI元素”错误来实现的。

感谢任何人能提供的任何帮助。

EN

回答 3

Stack Overflow用户

发布于 2018-07-02 20:03:59

在我的应用程序中使用react导航时,我也遇到了类似的问题。我目前使用的是react-Navigation2.2.0。

首先,我尝试了以下方法:

代码语言:javascript
复制
await element(by.label('Tab Name')).tap();

这很有效,我很高兴,直到我尝试转到不同的标签,其中标签名称与页面上的文本项相匹配,这意味着有两个标签具有相同的文本,并且Detox被混淆。因此,只有当您可以保证页面上有该标签的一个实例时,使用by.label才有用。

我发现解决这个问题的方法是为屏幕设置tabBarTestID导航选项。只要你使用唯一的ids,就不应该有冲突。

在您的screen组件中可以像这样设置tabBarTestID

代码语言:javascript
复制
class TabScreen extends Component {

  static navigationOptions = () => {
    return {
      title: 'Tab Name',
      tabBarLabel: 'Tab Name',
      tabBarAccessibilityLabel: 'Tab Name',
      tabBarTestID: 'Tab Name',
      tabBarIcon: ({ tintColor, focused }) => {
        return getTabIcon('Tab Name', focused);
      }
    };
  };

  render () {
    return (
      <View>
       ...
      </View>
    );
  }
}

export default TabScreen;

这意味着您现在应该能够在测试中使用:

await element(by.id('Tab Name')).tap();

票数 11
EN

Stack Overflow用户

发布于 2020-01-28 00:37:11

如果您在错误的位置添加,请尝试将其移动到createBottomTabNavigator

代码语言:javascript
复制
  createBottomTabNavigator(
    {
      YourStackLabel: {
        screen: YourStackNavigator,
        navigationOptions: {
          tabBarTestID: "yourBottomBarButtonTestId",
        },
      },
    }
  );
票数 1
EN

Stack Overflow用户

发布于 2018-03-12 15:31:52

这些都在文档中(几乎) https://github.com/wix/detox/blob/master/docs/Troubleshooting.RunningTests.md#debug-view-hierarchy

基本上,react原生创建了一个原生布局,而Detox正在尝试匹配来自该原生布局的视图。为了检查布局层次结构,您需要使用每个平台提供的工具。

对于iOS,请使用调试视图层次结构

对于安卓系统,使用Hierarchy Viewer

票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49103465

复制
相关文章

相似问题

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