我正在使用Android 4.0上的Google地图,我想知道:
是否有可以与Google Maps API交互的测试框架(或任何......)?在Android上与Google地图进行交互/测试时有哪些可能性?是否无法在地图上找到所有引脚并执行单击或确定缩放级别?
在这个网站上似乎有几个问题处理类似的问题/问题,没有答案。
我意识到“与...互动”是一个广义的术语。我真的在寻找任何帮助,无论是建议还是只是告诉我一些事情是不可能的。
我一直在使用JUnit,但它本身似乎有限。就在今天,我开始关注Robotium,因为我需要做的大部分测试都是基于UI的。我是Robotium的新手,所以也许这有可能,我还没有发现它?
答案 0 :(得分:3)
当我们的团队创建了一个使用Google地图的Android应用程序时,我能够使用R.id为地图片段创建测试。重要的是要注意我可以访问应用程序的代码,因此我知道要查找的变量。
在创建此测试之前,我想确保我的目标是正确的R.id,所以我进入了R文件,复制了值并将其放入
assertEquals(id.satellite,copiedRValue);
返回true,然后围绕可变变量
构建测试 initialID = solo.waitForFragmentById(id.satellite); //where id.satellite is defined in the R file, eventually would time out and throw error if fragment was not present
//save the map type, leave
//and do other awsome stuff
//before coming back to the map
finalID = solo.waitForFragmentById(id.satellite);//capture the map fragment that is now displayed, again would time out if this specific fragment was not visible
//assert that the fragments are equal
assertTrue(initialID.equals(finalID);
我在测试和其他Robotium测试中遇到的最大问题是我发生了点击事件以引入菜单,有时Robotium不会执行点击,测试会因点击而失败。
这是我第一次使用Robotium进行测试,因此可能还有其他方法可以操纵R.id值来创建更严格的测试。
答案 1 :(得分:1)
如果有人想在经过多次搜索后想知道,我终于找到了可以测试谷歌地图的东西。缩放等级和我相信tap pin(方法称为tapMapMarkerItem())都支持。我还没有测试针脚水龙头。 显然,令人敬畏的Robotium本身并不支持地图测试。 Nicholas Albion足以创建一个扩展,为Android上的地图提供测试支持。非常感谢尼古拉斯!
<小时/> 所以这是:下载扩展程序