我想对开头为visibility=gone
的EditText进行输入。
我有一个带有ProgressBar可见且EditText消失的布局。经过一些后台操作后,我交换了两个小部件的可见状态。 ProgressBar隐藏,并显示EditText。
因此,当我运行此测试时:
class ExampleInstrumentedTest {
private var mIdlingResource: IdlingResource? = null
@Before
fun registerIdlingResource() {
val activityScenario = ActivityScenario.launch(MainActivity::class.java)
activityScenario.onActivity {
fun perform(activity: MainActivity) {
mIdlingResource = activity
// To prove that the test fails, omit this call:
IdlingRegistry.getInstance().register(mIdlingResource!!)
}
}
}
@Test fun listGoesOverTheFold() {
onView(withId(R.id.editText2)).perform(typeText("ABC"))
onView(withId(R.id.btnSubmit)).check(matches(isEnabled()))
}
@After
fun unregisterIdlingResource() {
if (mIdlingResource != null) {
IdlingRegistry.getInstance().unregister(mIdlingResource)
}
}
}
浓咖啡因以下原因而失败:
由于:java.lang.RuntimeException:将不会执行操作,因为目标视图与一个或多个不匹配。 以下限制: ((在屏幕上显示给用户)和(支持输入法,或者可以从类中分配:android.widget.SearchView类)
这是我的活动:
private var mIdlingResource = CustomIdlingResource()
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
progressBar.visibility = View.VISIBLE
mIdlingResource.setIdleState(false)
BillingFormRepositoryService().load(object : BillingFormRepository.BillingFormCallback {
override fun onSuccess(billingFormLoadedViewState: BillingFormLoadedViewState) {
progressBar.visibility = View.GONE
editText2.visibility = View.VISIBLE
mIdlingResource.setIdleState(true)
}
})
}