适用于不同语言的iOS UI自动化

时间:2012-11-13 16:33:24

标签: ios xcode automation instruments ios-ui-automation

我的iOS应用程序具有10多种语言的本地化。 我想检查所有屏幕是否正常(标签不是太长/短等)。

我知道我可以浏览我的应用并使用UI自动化制作屏幕截图。 在UI自动化中有没有办法切换模拟器的语言?有没有办法通过启动1命令为我的应用程序生成屏幕截图?

谢谢!

3 个答案:

答案 0 :(得分:5)

是的。事实上我自己就是自己写的。 :)

使用此项目:https://github.com/jonathanpenn/ui-screen-shooter

演示了如何从命令行运行UI Automation,使用plist更改命令交换模拟器语言,以及使用AppleScript选择模拟器设备类型。通过评论对其进行了大量记录,但如果您对某些事情感到困惑,请随意在项目上打开问题或提出请求,我们就可以对其进行改进。

答案 1 :(得分:2)

还有另一个名为Snapshot的github项目,正是您想要的。

它提供UI Screen Shooter所具有的相同(和更多)功能,并且我发现它更加充实并记录在案。

启动和运行最具挑战性的部分是学习用于在模拟器中执行操作的Javascript API,但是您可以在线找到许多有用的教程。

以下是一些有用的参考资料:

答案 2 :(得分:1)

  

我在测试osx应用程序期间拍摄了下面的屏幕截图。它也是   适用于ios app。

您可以为xcode项目生成无限数量的方案。如果您这样做,您可以用任何语言测试您的应用程序并在您的模拟器中获取屏幕截图。好的,让我们从一个例子开始:为您的项目添加德语语言方案

完成本地化后,您必须为每种语言添加新方案。

第1步:点击您当前的方案(标签栏中的方案面板)。下图中的方案是 JHDTestLayout

scheme

第2步:现在,您可以管理您的方案。首先,我们必须添加一个新的:

add a new scheme

第3步:输入新计划的名称:

enter image description here

第4步:然后,再次点击标签栏中的方案面板(步骤1),选择新方案并选择“修改方案”

enter image description here

步骤5:向“启动时传递的参数”部分添加两个参数(使用+),然后按OK:

enter image description here

启动时传递的参数:您还可以将其他语言用于不同的方案,例如:

德国

-AppleLanguages (de)
-AppleLocale de_DE

西班牙语

-AppleLanguages (es)
-AppleLocale es_ES