【问题标题】:Espresso Perform Exception happening in CI only仅在 CI 中发生 Espresso 执行异常
【发布时间】:2016-04-14 15:22:07
【问题描述】:

我正在使用 Bitrise 运行一些 Android espresso UI 测试,但我似乎找不到此执行异常的解决方案:

android.support.test.espresso.PerformException: Error performing 'single click' on view 'with id: com.selfcarecatalyst.healthstorylines.adda:id/male'.
    at android.support.test.espresso.PerformException$Builder.build(PerformException.java:83)

我正在测试一个包含几个字段的注册页面。如果我跳过单击一个字段,我会在下次单击此表单时收到相同的错误。相关代码为:

public void clickMale_onInfoPage(){

    onView(withId(R.id.male)).perform(click());
}
public void setFirstName_onInfoPage(String name){
    onView(withId(R.id.first_name)).perform(typeText(name));
    closeSoftKeyboard();
}

首先调用setName,然后我添加了一个软关闭键盘,认为这可以解决它,但它没有:(

这是通过 CI 运行的,很抱歉,但我有点新,不知道如何获得更好的错误消息/堆栈跟踪。任何帮助将不胜感激!

【问题讨论】:

  • 我仍然无法将其投入使用,但我会在投入使用后尽快发布如何操作。您需要做的第一件事是确保您的测试在您的笔记本电脑上运行。然后在 Bitrise 上从堆栈中添加 create android emulatorstart android emulator。之后,您必须添加脚本才能将 apk-s 移动到模拟器并运行 Espresso。你可以关注我的进展stackoverflow.com/q/36753486/513413
  • 请务必检查一下,谢谢!我的测试在本地工作,问题只发生在 CI 上,很难调试

标签: continuous-integration android-espresso bitrise


【解决方案1】:

您还应该尝试在执行点击操作之前调用closeSoftKeyboard()

【讨论】:

  • 就在执行点击调用之前? public void clickMale_onInfoPage(){ closeSoftKeyboard(); onView(withId(R.id.male)).perform(click()); }
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-12-05
  • 1970-01-01
  • 1970-01-01
  • 2022-11-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多