Я использую detox e2e для создания тестовых примеров для моего реагирующего приложения. Короче говоря, у меня есть кнопка внутри функции рендеринга моего компонента, и эта кнопка перемещается слева направо. Я присвоил этой кнопке уникальный тестовый идентификатор. В моем тестовом примере я ожидаю, что эта кнопка появится с использованием своего тестового идентификатора. Но когда я запускаю «детокс-тест», тест не проходит, и в сообщении об ошибке указывается, что несколько элементов были сопоставлены с этим идентификатором теста.
Код моего тестового файла:
describe('Login flow', () => {
// test case for wallet generation
it('should generate new wallet', async () => {
await expect(element(by.id('WelcomeScreen'))).toBeVisible()
await expect(element(by.id('WelcomeScreenCreateWalletButton'))).toBeVisible()
})
})
а код моей кнопки внутри функции рендеринга:
<Transition appear="horizontal">
<View style={styles.buttonContainer}>
<Button
text={I18n.t('create-wallet')}
onPress={this.createWallet}
style={[styles.button, styles.topButton]}
testID="WelcomeScreenCreateWalletButton"
/>
<Button
text={I18n.t('restore-wallet')}
transparent
onPress={this.restoreWallet}
style={styles.button}
shared={'button'}
testID="WelcomeScreenRestoreWalletButton"
/>
</View>
</Transition>
В моем тестовом примере я ожидаю, что будет видна кнопка с testid "WelcomeScreenCreateWalletButton". Если я удалю теги перехода из функции рендеринга моего компонента, тест пройдет успешно и пройдет успешно. Так что видимо есть какая-то проблема с переходом кнопки. Я читал, что синхронизация состояния простоя детокса решает проблемы с анимацией. Я не знаю, что мне не хватает: /.