我正在尝试通过.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);
事实证明,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>