【问题标题】:Comparing Google Maps v2 Screenshot in Android Test比较 Android 测试中的 Google Maps v2 屏幕截图
【发布时间】:2017-02-06 04:10:06
【问题描述】:

我想在 Android 测试中比较 2 个 Google Maps v2 屏幕截图。有什么建议我应该从哪里开始?

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

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

【问题讨论】:

    标签: android google-maps gradle integration-testing


    【解决方案1】:

    这是您使用 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);
            }
        });
    

    【讨论】:

    • 我之前已经实现了你的解决方案,它有效,但我打算在 Instrumentation Test 上使用屏幕截图,并将其与我本地计算机磁盘中的另一个屏幕截图进行比较。
    猜你喜欢
    • 2012-11-26
    • 2019-03-10
    • 2012-11-25
    • 2015-06-14
    • 2013-07-31
    • 2012-12-26
    • 2021-03-03
    • 1970-01-01
    相关资源
    最近更新 更多