我是Detox的新手,我很难创建自己的第一个测试。设置非常简单,并且该库似乎非常有前途,所以谢谢!!
我的回购包含react-native
和react-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
但这似乎也不起作用。
有什么建议吗?提前致谢!