gpt4 book ai didi

localization - 通过 Robotium 更改 Android Apk 语言环境

转载 作者:行者123 更新时间:2023-12-02 00:06:38 25 4
gpt4 key购买 nike

我正在研究一个事件检测测试用例,它使用 Robotium 框架自动验证 AUT。我想自动化几种语言测试。我试图通过 Robotium 更改语言,方法是从 AUT 中提取资源并将本地语言环境配置强制为不同的语言,但无济于事:

    Locale locale = new Locale(lang);
Locale.setDefault(locale);
Configuration config = res.getConfiguration();
config.locale = locale;
res.updateConfiguration(config, res.getDisplayMetrics());

我还听说过去可以使用事件管理器使用 ADB 更改语言,但我一直无法找到适用于 V4.2.2 的有效解决方案。除了在应用程序本身中嵌入代码或对设备进行 root 之外,是否有任何方法可以通过 Robotium 或其他方式远程更改区域设置?

提前致谢

最佳答案

前段时间我遇到了类似的问题,得出以下解决方案:

private void changeActivityLocale(final Activity a, String locale ){
Resources res = a.getResources();
DisplayMetrics dm = res.getDisplayMetrics();
Configuration conf = res.getConfiguration();
conf.locale = new Locale(locale);
res.updateConfiguration(conf, dm);
a.getResources().updateConfiguration(conf, dm);

getInstrumentation().runOnMainSync(new Runnable() {
public void run() {
a.recreate();
}
});
}

在开始某些特定于语言环境的测试之前,我在我的测试用例中调用了这个方法。希望对你有帮助。

最好的问候,

彼得

关于localization - 通过 Robotium 更改 Android Apk 语言环境,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18085652/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com