无法使用Espresso将文本添加到webview文本字段

时间:2017-08-08 15:07:39

标签: android android-espresso

我正在尝试在Esprsso中的文本字段(在webview中)添加文本,并且我收到此错误:

  

引起:java.lang.RuntimeException:evaluationEvaluation中的错误:   状态:13值:{message =无法设置选择结束} hasMessage:   true message:无法设置选择结束

代码:

textField.perform(webKeys("exmaple@test.com"));

当我点击文本字段时,它可以正常运行,但当我试图输入文字时,它会崩溃。

1 个答案:

答案 0 :(得分:0)

我面临同样的问题。我的代码适用于Android 7.1.1模拟器,但它在Android 8.0模拟器上失败。 我通过在build.gradle中执行以下操作来解决它。

1)升级浓缩咖啡库。 我在场:

androidTestCompile 'com.android.support.test:runner:0.5'
androidTestCompile 'com.android.support.test:rules:0.5'
androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.2'
androidTestCompile('com.android.support.test.espresso:espresso-contrib:2.2.2') 

现在:

androidTestCompile 'com.android.support.test:runner:1.0.0'
androidTestCompile 'com.android.support.test:rules:1.0.0'
androidTestCompile 'com.android.support.test.espresso:espresso-core:3.0.0'
androidTestCompile('com.android.support.test.espresso:espresso-contrib:3.0.0') 

2)完成后,您的应用可能无法构建。它可能会说它无法找到测试:runner:1.0.0 在这种情况下,您需要添加

repositories {
    maven { url "https://maven.google.com" }
}

3)您可能需要解决的以下问题是它可能会抱怨“应用程序版本(2x.x.x)和测试应用程序(2x.x.x)不同” 所以我在gradle中添加以下内容。

configurations.all {
    resolutionStrategy.force 'com.android.support:support-annotations:2x.x.x'
}

4)另外,您可能需要确保添加了Runner。

defaultConfig {
        "android.support.test.runner.AndroidJUnitRunner"
}