我是Android新手。我有一个地图活动,在MainActivity中的某些事件之后调用,并在屏幕中显示一个地图。我无法弄清楚如何测试地图是否出现。 我知道它不可能用浓缩咖啡,但已经在UiAutomator的某个地方读过它。如何使用UiAutomator相同..?
答案 0 :(得分:1)
您可以设置托管地图的视图的内容说明,以表明其准备就绪"。
...
SupportMapFragment mapFragment =
(SupportMapFragment) getSupportFragmentManager()
.findFragmentById(R.id.map);
mapView = mapFragment.getView();
mapView.setContentDescription("MAP NOT READY");
// you may need to preserve existing description
mapFragment.getMapAsync(this);
@Override
public void onMapReady(GoogleMap googleMap) {
...
mapView.setContentDescription("MAP READY");
}
然后,在你的测试中
mDevice.wait(Until.hasObject(By.desc("MAP READY")), timeout);
答案 1 :(得分:0)
此解决方案对我有用:我刚刚更新了@Diego的解决方案,因为我在此行ClassCastException
上获得了mapView = mapFragment.getView();
,所以我删除了此行并没有设置最初的内容描述,因为googleMap默认具有内容描述为“ Google Map”,因此无需对其进行设置,只需在内部对其进行更新:
@Override
public void onMapReady(GoogleMap googleMap) {
...
mapView.setContentDescription("Google Map Ready");
}
然后在测试类中等待:
mDevice.wait(Until.hasObject(By.desc("Google Map Ready")), timeout);