我尝试使用'Espresso'编写简单的测试
@RunWith(AndroidJUnit4.class)
@LargeTest
public class EspressoTest {
@Rule
public ActivityRule<IntroActivity> mActivityRule = new ActivityRule(IntroActivity.class);
public EspressoTest() {
IdlingPolicies.setMasterPolicyTimeout(1000, TimeUnit.SECONDS);
}
@Test
public void testShouldClickEmailButton() {
onView(withText(R.string.in_email)).perform(click());
}
}
但我遇到了一个错误:
PerformException: Error performing 'single click' on view 'with string from resource id: <2131099761>[in.email] value: Login With Email'.
我正在尝试不同的测试框架,robotium
目前对我来说是最好的,但如果有人能帮忙修复这个错误,我将非常感激。
更新更详细的日志
由于目标视图不符合以下一个或多个约束条件之一,因此不会执行操作:至少90%的视图区域显示给用户。目标视图:“DSeparatedButton {id = 2131427459,res-name = button_login,visibility = VISIBLE,width = 622,height = 120,has-focus = false,has-focusable = true,has-window-focus = true,is-clickable = true,is-enabled = true,is-focused = false,is-focusable = true,is-layout-requested = false,is-selected = false,root-is-layout-requested = false,has-input-connection = false,x = 0.0,y = 333.0,text = Login With Email,input-type = 0,ime-target = false,has-links = false}”
我还有一个小的启动动画
IntroActivity
的代码,那会很有帮助。否则,我们只能凭猜测来回答你的问题。你得到的答案可能包含最佳实践,但不一定是解决方案。我们需要知道你是如何构建相关的视图的。目前我们只知道你的匹配器失败了。 - OYRM