是否有任何方法内置到Robotium Solo 4.0来改变系统时钟时间?
我知道我可能会写一些代码来打开设置应用程序,导航到时钟并改变时间,但如果Robotium内置了一些东西来做到这一点,那将是非常有用的。设置菜单因操作系统版本而异,因此编写一个在所有Android操作系统上正确执行此操作的方法将是大量工作。
我的应用程序中有几个日期选择器,只允许您在工作时间选择日期,所以我需要假装我的手机的系统时间在正常的工作时间内,以便日期选择器允许我选择任何东西。
如果没有内置的东西,有人写了自己的robotium脚本来导航到设置应用程序,我很感激你分享你的方法。
有几个解决方案。
通过编程你可以
仅仅因为你不能轻易地改变电话时钟并不妨碍你能够轻易地改变你认为的营业时间,这样你就可以改变你的营业时间,以当前时间为基础,例如,改变它以允许或不允许当前时间范围,然后使用它作为测试的基础。它不是完美的,但它可以让你测试你的代码包括/排除工作,即使你没有测试确切的时间范围(尽管你应该能够正确的测试来检查数据通常是正确的值,所以结合之前的测试,这可能会给你足够的保证。
还是……
您可以使用来自pc的命令在非root手机上设置日期,但如何将其集成到您的测试中取决于您(您将不得不设置日期运行测试设置日期运行测试等)。要做到这一点,可以使用'adb shell date'命令(您可以在stackoverflow上搜索它的用法)。
我可能会写一些代码来打开设置应用程序,导航到时钟并更改时间
你不能用机器人做这件事。Robotium(和基于Robotium的Instrumentation)只能访问经过测试的应用程序。
老实说,没有根设备就无法以编程方式改变系统时钟。如何在有根设备上更改,你可以在这里找到:设置有根手机的系统时间