XCUITest:了解app / iPhone的语言

时间:2017-08-16 20:35:41

标签: ios iphone user-interface testing

我有一个场景,根据语言有不同的用户。 如何确定iPhone /模拟器/应用程序的语言,以便我知道要使用的登录名。

例如

  • 如果语言是en-us用户Eng_User
  • 如果语言为ru则使用Ru_User

在启动我知道语言为用户的应用程序后,XCUITest中是否有办法

我可以在app delegate中设置属性并在以后使用它吗? 我尝试在appDelegate中设置app.accessibilityLanguage但是在测试中无法使用它,因为返回的值是nil

1 个答案:

答案 0 :(得分:2)

在Xcode 9中,您可以在

中设置XCUITest套件的语言
Scheme -> Edit Scheme -> Test -> Options -> Application Language

不幸的是,我现在还没有找到一种方法来阅读它。但是,您可以传入与该语言匹配的环境变量。

Scheme -> Edit Scheme -> Test -> Arguments -> Environment Variables

为您的测试本地和语言设置与选项中的设置匹配的键/值。您可以使用ProcessInfo.processInfo.environment

在测试代码中读取环境变量
let language = ProcessInfo.processInfo.environment["locale"]

有关Xcode 9中本地化测试的更多信息,请访问:

here