Sco*_*tyC 6 android android-testing android-espresso
我只是想在表单末尾测试提交按钮。
FormAndroidTest.java:
@Test
public void testSubmitButton() throws Exception {
// Execute
onView(withId(R.id.btnSaveFeedback))
.perform(click());
}
Run Code Online (Sandbox Code Playgroud)
在click()
被调用时,我可以看到它在应用程序执行的点击,但电话永不再来(直到超时)。
我将其范围缩小为由startActivity
点击处理程序中的调用引起的:
FormActivity.java:
public void onSubmitClicked(View view) {
...
startActivity(new Intent(this, NextActivity.class)
.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT)
.addFlags(Intent.FLAG_ACTIVITY_TASK_ON_HOME));
...
}
Run Code Online (Sandbox Code Playgroud)
我将其追溯到sendUp()
Espresso的Tap.java中的调用失败:
private static Tapper.Status sendSingleTap(...) {
...
DownResultHolder res = MotionEvents.sendDown(uiController, coordinates, precision);
try {
if (!MotionEvents.sendUp(uiController, res.down)) { <-- THIS TIMES OUT
Log.d(TAG, "Injection of up event as part of the click failed. Send cancel event.");
MotionEvents.sendCancel(uiController, res.down);
return Tapper.Status.FAILURE;
...
}
Run Code Online (Sandbox Code Playgroud)
在uiController.injectMotionEvent(motionEvent);
该循环中,直到注射完成为止一直循环,在这种情况下,它永远不会循环并且超时。
我以为它一定与我的线程没有解决有关,但是我不知道为什么或如何解决它。我已经看到了一些相关的主题,但是给出的答案似乎并不能解决我的确切问题。
谢谢
归档时间: |
|
查看次数: |
498 次 |
最近记录: |