在Android Test中比较Google Maps v2屏幕截图

时间:2017-02-06 04:10:07

标签: android google-maps gradle integration-testing

我想在Android测试中比较2个Google Maps v2截图。我有什么建议可以开始吗?

我已经使用了https://facebook.github.io/screenshot-tests-for-android/,但它仍然无法捕获Google Maps v2(因为地图是在OpenGL上呈现的)。

我的想法:创建一个gradle任务,使用SnapshotReadyCallback拍摄Google Maps v2的快照,然后使用OpenCV进行比较。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

这是使用Maps v2拍摄快照的方法:

    Button button = (Button) findViewById(R.id.mButton);
    button.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            SnapshotReadyCallback callback = new SnapshotReadyCallback() {
                Bitmap bitmap;

                @Override
                public void onSnapshotReady(Bitmap snapshot) {
                    bitmap = snapshot;
                    try {
                        FileOutputStream out = new FileOutputStream("/mnt/sdcard/Download/globe.png");
                        bitmap.compress(Bitmap.CompressFormat.PNG, 90, out);
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    // OR
                    ImageView im1 = (ImageView)findViewById(R.id.myImView);
                    im1.setImageBitmap(bitmap);
                }
            };

            map.snapshot(callback);
        }
    });