代码之家  ›  专栏  ›  技术社区  ›  Meeran Tariq

排毒,多种元素搭配,为纽扣过渡

  •  3
  • Meeran Tariq  · 技术社区  · 6 年前

    我的测试文件的代码是:

    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为“welcomescreatewalletbutton”的按钮是可见的。如果我从组件的render函数中移除了转换标记,那么测试将成功运行并通过。所以很明显按钮的转换有问题。我读过解毒的空闲状态同步处理动画问题。我不知道我错过了什么:/。

    1 回复  |  直到 5 年前
        1
  •  19
  •   Meeran Tariq    6 年前

    所以,很明显,这个特殊的问题是由react原生流体导航引入的,它通过复制项目来进行转换。我用它来从左到右转换按钮。简单的解决方案是使用第二项并对其执行操作。代码如下:

    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')).atIndex(1)).toBeVisible() 
        }) 
    })
    

    正在添加 指数(1)

    推荐文章