【问题标题】:iOS UI Automation for different languages不同语言的 iOS UI 自动化
【发布时间】:2012-11-02 02:46:43
【问题描述】:

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

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

谢谢!

【问题讨论】:

  • 你试过更改模拟器的语言吗?
  • 我想启动自动化测试并为我拥有的所有语言制作屏幕截图。我知道如何手动操作

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


【解决方案1】:

是的,有。事实上,我只是自己写的。 :)

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

它演示了如何从命令行运行 UI 自动化、使用 plist 更改命令交换模拟器语言以及使用 AppleScript 选择模拟器设备类型。它在 cmets 中有大量文档,但如果您对某些事情感到困惑,请随时打开项目的问题或拉取请求,我们可以改进它。

【讨论】:

  • 您可能想查看snapshot,它的功能与ui-screen-shooter 非常相似,但正在积极维护中。
【解决方案2】:

我在测试 osx 应用程序时截取了下面的屏幕截图。它也是 适用于 ios 应用程序。

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

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

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

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

第 3 步:输入新方案的名称:

第 4 步:然后,再次单击选项卡栏中的方案面板(第 1 步),选择您的新方案并选择“编辑方案”

第 5 步:将两个参数添加到“Arguments Passed On Launch”部分(使用 +),然后按 OK:

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

德语

-AppleLanguages (de)
-AppleLocale de_DE

西班牙语

-AppleLanguages (es)
-AppleLocale es_ES

【讨论】:

  • 我正在寻找一种通过命令行执行此操作的方法。出于某种原因,以下方法不起作用:open /Applications/Xcode.app/Contents/Developer/Applications/iOS\ Simulator.app --args -AppleLocale es_ES 我希望它起作用!!!!
【解决方案3】:

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

它提供了与UI Screen Shooter 相同(甚至更多)的功能,而且我发现它更加充实并记录在案。

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

这里有一些有用的参考资料:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-05
    • 1970-01-01
    • 2015-06-27
    • 2013-10-02
    • 2014-05-04
    相关资源
    最近更新 更多