UITests(快照)中的本地化字符串始终为英文
Posted
技术标签:
【中文标题】UITests(快照)中的本地化字符串始终为英文【英文标题】:Localized Strings are always in English in UITests (Snapshot) 【发布时间】:2017-05-27 09:50:41 【问题描述】:我对 Fastlane 还很陌生,并且喜欢 Snapshot 的想法,但我遇到了一个小问题。 当我尝试创建一组新的屏幕截图时,我遇到了 UITests 不使用正确的本地化字符串来获取 UI 元素的问题。
我当前的状态基于这个 Stack 条目:XCode 7 UITests with localized UI
本地化方法:func localizedString(_ key: String) -> String
let uiTestBundle = Bundle(for: MyUITests.self)
return NSLocalizedString(key, bundle: uiTestBundle, comment: "")
尝试以这种方式执行敲击:app.navigationBars[localizedString("key_1")].buttons[localizedString("key_2")].tap()
我得到的错误如下:
No matches found for "Rolling stone" NavigationBar
滚石是关键的基础/英语本地化,但应该有一个德语。因此,无论出于何种原因,UITest 总是选择英文本地化。
有人知道如何解决这个问题吗?我检查了 SnapshotHelper,它通过“de-DE”作为语言,所以这不是重点。 但我只是找不到错误:(
【问题讨论】:
【参考方案1】:Localization
这里的链接应该足以解决您的问题。您只需在编辑方案选项下的测试选项卡中选择正确的语言选项。
【讨论】:
使用 fastlane 时,您不必为每个本地化选择语言选项。事实上,你不能这样做,你从命令行启动工作流。以上是关于UITests(快照)中的本地化字符串始终为英文的主要内容,如果未能解决你的问题,请参考以下文章