【问题标题】:Change Keyboard in XCUITest/Simulator在 XCUITest/Simulator 中更改键盘
【发布时间】:2020-07-23 14:01:03
【问题描述】:

我想以编程方式更改我的 XCUITests 的键盘语言,以尝试各种不同的键盘。我试过了:

XCUIApplication().launchArguments += ["-AppleLanguages", "(fr)"]
XCUIApplication().launchArguments += ["-AppleLocale", "fr_FR"]

但这只会改变语言和区域设置,但它仍然保持模拟器默认键盘。我知道我可能可以通过转到设置应用程序(在 UITest 内部)并更改键盘来做到这一点,但我想将其作为输入参数或类似的。

我也不想同时在模拟器上安装所有键盘语言,只安装我选择的一种语言。

我怎样才能做到这一点?

【问题讨论】:

  • "但我想将其作为输入参数或类似参数" 但是您无法在现实生活中以这种方式更改应用程序中的键盘,因此您无法在 UI 测试中更改键盘大大地。在 UI 测试中你唯一能做的就是点击(和输入等等)。因此,您需要像在现实生活中一样调出键盘并点击键盘上的键盘按钮并更改键盘。
  • 如果您的应用针对不同的语言进行了本地化,您可以使用测试计划来更改不同测试运行的系统设置。也许这就是你要找的。观看 WWDC 2019 的测试视频;他们举了一个例子。

标签: swift xcode ios-simulator xctest xcuitest


【解决方案1】:

由于您在模拟器中执行此操作,因此您可以访问整个 macOS 磁盘空间,包括模拟器支持文件。

每个模拟器都有自己的设置,位于

$HOME/Developer/CoreSimulator/Devices/SIMULATOR_ID/data/Library/Preferences/.GlobalPreferences.plist

在此文件中,您可以通过编程方式更改AppleKeyboards

【讨论】:

  • 似乎不适合我。一旦我删除或添加项目到AppleKeyboards 数组并启动模拟器,它会自动添加默认布局。知道为什么或如何只有一种键盘布局吗?使用模拟器 12.4 版。
猜你喜欢
  • 2011-12-15
  • 2013-01-08
  • 2010-10-25
  • 1970-01-01
  • 1970-01-01
  • 2023-03-04
  • 1970-01-01
  • 2017-10-02
  • 2012-02-04
相关资源
最近更新 更多