如何在Android中使用Robotium编写主屏幕活动的测试用例

时间:2011-07-26 13:57:47

标签: android robotium

我正在使用Robotium为其中一个Android应用程序编写测试用例。我的要求是用我的测试用例为锁屏和主屏幕编写测试服。但是我无法通过我的仪器测试用例获取主屏幕事件并锁定屏幕拖动。

3 个答案:

答案 0 :(得分:1)

锁定屏幕不是正常的应用程序,因此您将无法对其进行检测(这意味着您无法使用robotium进行测试)。

主屏幕是Launcher应用程序的一部分,你应该可以像使用机器人的任何其他应用程序一样对其进行测试和测试。

答案 1 :(得分:0)

如果您想使用selenium测试应用程序,或者您必须拥有源代码,或者您必须拥有一个应用程序,该应用程序的标志与要运行的测试项目相同。通常,人们使用密钥库调试对它们进行签名然后测试它们 根据该规则,您要测试Launcher,您必须拥有root手机 - >下载启动器应用并重新签名 - >将新的启动器应用程序替换为root电话中的当前启动器应用程序 所以它太复杂了 此外,您可以使用设备管理器创建测试用例,以便与设备硬件进行交互,例如锁定,解锁,打开wifi,GPS ......

答案 2 :(得分:0)

RobotiumEspresso

的限制

Robotium Espresso是典型的UI测试框架,有一个很大的限制 - 使用它们,您只能在测试环境下的应用程序内部运行。

这意味着他们不会检查某些类型的对话框,消息弹出窗口,通知或锁定屏幕。

SeleniumAppiumCalabash(根据thienkhoi tran回答)

Selenium是另一个测试框架,它在Android上有自己的实现,名为Selendroid。如果您只想保留一个测试框架Selendroid以及Calabash(基于Cucumber的开源测试框架,并得到Xamarin人的大力支持)和{{1} (另一个Appium维护的好工具)将是很好的选择。

我没有使用这些框架的经验,但我非常确定至少Testdroid可以对主屏幕活动进行测试,但其合成文件不易于学习和阅读{{1} }或Apium

解决方案:Calabash Robotium

最后,我们决定保留Robotium个测试,然后添加另一个框架来完成它。 uiautomator正如我所说的那样做不到,但谷歌与Android测试支持发布了另一个名为Robotium的仪器框架,它与Espresso完美配合,但也与{{1}一起使用}。

检查: https://github.com/codepath/android_guides/wiki/UI-Testing-with-Robotium#robotium-in-googles-espresso-way(将uiautomator的配置更改为Espresso

官方Robotium网站: https://google.github.io/android-testing-support-library/docs/uiautomator/

如何将RobotiumEspresso-look-a-like混合(实际上也与uiautomator合作): http://qathread.blogspot.com/2015/05/espresso-uiautomator-perfect-tandem.html

教程: https://software.intel.com/en-us/android/articles/automatic-android-testing-with-uiautomator

希望它会有所帮助