使用反应导航模式和标签栏进行排毒测试

我是Detox的新手,我很难创建自己的第一个测试。设置非常简单,并且该库似乎非常有前途,所以谢谢!!

我的回购包含react-nativereact-navigation的最新版本(尽管我发现您在哪里让竞争对手哈哈;)。而且我似乎无法弄清楚如何进行导航。我的第一个测试“应该超过登录名”运行得很好,但是不幸的是,“应该在Main上并打开FAQ”仍然失败。我的测试如下(也尝试了不使用device.disableSynchronization();的所有内容:

describe('Init app',() => {
  beforeEach(async () => {
    await device.disableSynchronization();
  });

  it('should surpass login',async () => {
    await expect(element(by.id('e2eButton'))).toBeVisible();
    await element(by.id('e2eButton')).tap();
  });

  it('should be on Main and open FAQ',async () => {
    await waitFor(element(by.id('faqButton'))).toBeVisible().withTimeout(5000);
    await waitFor(element(by.id('faqButton'))).toExist().withTimeout(5000);

    await element(by.id('faqButton')).tap();
    await waitFor(element(by.id('faqModal'))).toExist().withTimeout(5000);

    // await element(by.id('contactScreen')).toExists();
    // await element(by.id('contactScreen')).tap();
  });
});

faqButton按钮是一个打开react-navigation模态的按钮,但是测试似乎在await waitFor(element(by.id('faqModal'))).toExist().withTimeout(5000);上中断了,其中faqModal只是模态屏幕上的一个随机元素,这是我的根StackNavigator的一部分。模态永远不会打开,但我看到正在执行点击(尽管它会误点击)。

您还可以看到我的评论contactScreen ID。通过添加Finding a TabNavigator tab item with detox in React Native

,将其链接到我的选项卡,方法是添加tabBarTestID

但这似乎也不起作用。

有什么建议吗?提前致谢!

tianayzht 回答:使用反应导航模式和标签栏进行排毒测试

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3143364.html

大家都在问