Robotium Solo 4.0在输入文本后暂停

时间:2013-03-19 03:18:37

标签: android android-ui robotium android-testing

我正在使用Robotium Solo 4.0为Android应用程序编写一些功能测试。以下顺序给了我一些问题。我正在使用Nexus 4。

View cartIcon = solo.getView(R.id.cartBtn);
solo.clickOnView(cartIcon);

//Animation happens in app here for about 5 seconds before the email/password boxes are visible

solo.typeText((EditText)solo.getView(R.id.emailEdit), LOGIN_EMAIL);
solo.typeText((EditText)solo.getView(R.id.passwordEdit), LOGIN_PASSWORD);


//Execution pauses here for 30 seconds or so, then picks up at normal speed where it left off.
solo.clickOnView((Button)solo.getView(R.id.loginBtn), true);

正如您在上面的评论中所看到的,在登录屏幕上填写登录电子邮件和密码后,测试执行会暂停一段时间,直到最后点击登录按钮并继续正常执行。有人有解决方案吗?

更新

需要注意的一点是,在点击cartIcon之后,在emailEdit和passwordEdit EditText视图可用之前,有一个动画需要大约5秒才能完成下一个活动。我想知道Robotium是否试图过早地输入这些字段而失败,然后在继续之前等待超时。

我在输入电子邮件和密码之前尝试执行solo.waitForText(“登录”),但这没有帮助。还有其他想法吗?

哎呀 - 我是个白痴。 R.id.emailEdit和R.id.passwordEdit是错误的元素,并且不在此页面上。我调试并注意到它们都是null,这显然导致Robotium在进行之前等待超时。在我交换了正确的元素ID后,一切都按预期工作。

如果Robotium在尝试与空视图交互时抛出异常,那就太好了。

0 个答案:

没有答案