Mocha在输入字段中找不到ID-react-native

问题描述 投票:0回答:1

我正在尝试通过.text()获得输入的文本;硒的方法。但是每次我尝试获取该元素时,它都会输出未找到有问题的ID。

((我正在使用nativebase的Input,但是我已经尝试使用textinput native组件对其进行测试)

                      <Form>
                            <Item
                                testID='input_nomePaciente_formPacientes'
                                stackedLabel>
                                <Label style={styles.label}>Nome</Label>
                                <Input value={this.state.paciente.nome.toUpperCase()}
                                    style={styles.inputForm}
                                    testID='input_testID'
                                    autoCorrect={false}
                                    keyboardType={(Platform.OS === 'android') ? 'visible-password' : ''}
                                    autoCapitalize='none'
                                    onChangeText={(text) => this._updateItem('nome', text, 0)} />
                            </Item>

我可以使用sendKeys()与元素进行交互;然后单击();通过Item testID,但我无法与输入中的任何内容进行交互。我也无法通过Item testID获得该字段的值。

这是我尝试获取输出的方式:


let testID = await driver.elementByAccessibilityId("input_testID");
            let testIDValue = await testID.text();

            console.warn(testIDValue);

javascript react-native selenium-webdriver automated-tests mocha
1个回答
0
投票

事实证明,mocha /硒找不到导入的nativebase组件。试图通过本机组件获取输入,但效果很好。

这很完美:

<Label style={{ marginLeft: 10 }}>Login</Label>
      <TextInput // react-native input component
          autoCapitalize='none'
          testID='input_login'
          editable={true}
          autoCorrect={false}
          keyboardType={(Platform.OS === 'android') ? 'visible-password' : ''}
          onChangeText={(item) => this.setState({ login: item })}
          value={this.state.login} 
       />

即使您用手指交叉也不行:

<Form>
      <Item
           testID='input_nomePaciente_formPacientes'
           stackedLabel>
           <Label style={styles.label}>Nome</Label>
           <Input // nativebase input component
              value={this.state.paciente.nome.toUpperCase()}
              style={styles.inputForm}
              testID='input_testID'
              autoCorrect={false}
              keyboardType={(Platform.OS === 'android') ? 'visible-password' : ''}
              autoCapitalize='none'
              onChangeText={(text) => this._updateItem('nome', text, 0)} />
      </Item>
</Form>
© www.soinside.com 2019 - 2024. All rights reserved.