Robotium(Android) - Robotium测试看不到视图

时间:2015-11-14 23:25:20

标签: android textview robotium visible

我在使用Robotium进行Coursera课程练习时遇到麻烦......我会尝试解释更好的理解方法。

我有一个活动,在onCreate方法上以编程方式创建了TextView,我确信View是正确编码的,实际上,当我使用自己的设备运行Robotium测试时,如果屏幕打开,它会通过所有测试,但如果我运行测试我的屏幕关闭/设备锁定Robotium在assertTrue中使用waitForView方法失败。

问题是我不能确定在Coursera平台上运行测试的屏幕是否打开(并且它不会导致它失败,并且当我尝试运行测试时出现相同的错误屏幕关闭)。 我认为它与Robotium有关...但是我不知道如何让我的TextView可见,因为Robotium可以在它上面等待它。

1 个答案:

答案 0 :(得分:0)

Robotium是一个检测测试框架,它靠近您应用的UI,因此只有在看到按钮时才会点击按钮。

我不知道您正在谈论的Coursera课程,以及为什么您认为他们的测试是在屏幕锁定上运行 - 这当然是不可能的,但我可以发誓如果您使用Espresso而不是Robotium它也会失败。

在手机/​​模拟器功能Stay awake上查找。

您可能需要先解锁设备上的“开发人员选项”。为此,选择Settings而不是点击About phone,最后点击Build version几次。

根据Unlocking the emulator or device for Android test

  

我在运行时遇到了不可靠的解锁问题   Robotium测试。我没有找到程序化解锁的解决方案   可靠运行的设备,但我做了两件事   变通。

     
      
  • 只需停用锁定屏幕(Settings -> Security -> Screen lock -> None)即可。不理想,但在一天结束时,可靠的测试是重要的。

  •   
  • 启用“保持清醒”设置,以防止屏幕由于不活动而关闭(Settings -> Developer options -> Stay awake)。一些   OEM /手机要么没有这个选项,要么仍然关闭,所以   对于那些讨厌的设备,我安装了[KeepScreenOn] [1] app。

  •   
     

警告:每天24小时在主屏幕上打开屏幕可能会导致屏幕老化/重影。我不确定是否   这是永久性的,但请注意这一点。在我们的例子中,我们正在使用   专用测试设备,所以这不是什么大问题。

     

另请注意,因为手机的屏幕都会打开   有时,您可能希望调暗亮度以减少电池电量   (有时通过USB充电可能会很慢。)

我认为你也可以在uiautomator方法中使用setUp代码,这会检查屏幕是否被锁定。如果是true,请解锁设备屏幕。