Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 自动本地化屏幕截图_Android_Windows_Automation_Localization_Screenshot - Fatal编程技术网

Android 自动本地化屏幕截图

Android 自动本地化屏幕截图,android,windows,automation,localization,screenshot,Android,Windows,Automation,Localization,Screenshot,有没有一种方法可以自动从windows在android上拍摄本地化的屏幕截图 我为Mac找到了一个工具 但是有没有办法在Windows上实现呢?我需要为11种不同的语言拍摄5张截图,以某种方式实现自动化会很好 编辑 根据@grrrr的回答,我已经实现了自动化,用所有本地化来捕获我的第一个活动。然而,我不知道如何浏览我的应用程序,从几个活动中获取屏幕截图,更改本地化并再次浏览它们。流程应该是这样的: “恩” 第一个活动(scr)>主活动(scr)>设置活动(scr) “de” 第一个活动(scr

有没有一种方法可以自动从windows在android上拍摄本地化的屏幕截图

我为Mac找到了一个工具

但是有没有办法在Windows上实现呢?我需要为11种不同的语言拍摄5张截图,以某种方式实现自动化会很好

编辑

根据@grrrr的回答,我已经实现了自动化,用所有本地化来捕获我的第一个活动。然而,我不知道如何浏览我的应用程序,从几个活动中获取屏幕截图,更改本地化并再次浏览它们。流程应该是这样的:

“恩”
第一个活动(scr)>主活动(scr)>设置活动(scr)

“de”
第一个活动(scr)>主活动(scr)>设置活动(scr)

等等

编辑2

Atm我是通过在中手动更改活动来实现的

private final CustomActivityTestRule mActivityTestRule = new CustomActivityTestRule<>(StartActivity.class);
private final CustomActivityTestRule mActivityTestRule=新的CustomActivityTestRule(StartActivity.class);
一个接一个地做屏幕截图。

是一个很好的指南,指导您如何在自动化测试失败或成功时截图(几乎就是您的本地化用例!)。您可以按照指南创建一个
ScreenshotWatcher
,或者根据需要调用
CaptureShot
方法来获取所需的屏幕截图。我复制了以下相关课程:

public class ScreenshotWatcher extends TestWatcher {

    @Override
    protected void succeeded(Description description) {
        Locale locale = InstrumentationRegistry.getTargetContext()
                .getResources()
                .getConfiguration()
                .getLocales()
                .get(0);
        captureScreenshot(description.getMethodName() + "_" + locale.toLanguageTag());
    }


    private void captureScreenshot(String name) {
        ScreenCapture capture = Screenshot.capture();
        capture.setFormat(Bitmap.CompressFormat.PNG);
        capture.setName(name);
        try {
            capture.process();
        } catch (IOException ex) {
            throw new IllegalStateException(ex);
        }
    }


    @Override
    protected void failed(Throwable e, Description description) {
        captureScreenshot(description.getMethodName() + "_fail");
    }
}

我认为这是一个很好的演练,但并不是所有内容都解释清楚。是否有可能与整个项目有关的链接?您具体需要哪些帮助?您是否已经在使用浓缩咖啡来自动化您的测试?这是一个关于如何开始的演练,这是我第一次使用浓缩咖啡。是否有一种方法可以编辑此自动化并设置“路径”以拍摄多个活动的屏幕截图,然后更改本地化。例如“MainActivity(屏幕截图)>FirstActivity(屏幕截图)>ThirdActivity(屏幕截图)”您可以导航到
emptyMainActivityPortrait
中的其他活动,或者您可以为不同的活动创建另一个
@Test
,或者您可以将
MainActivityScreenshot
子类化,并传入要测试的不同活动是的,我确实更改了活动,并手动逐个执行屏幕截图。只是问问它是否可以自动化。如果我从
emptyMainActivityPortrait