在 Xcode UI 测试中编辑记录的元素

Posted

技术标签:

【中文标题】在 Xcode UI 测试中编辑记录的元素【英文标题】:Edit recorded element in Xcode UI Testing 【发布时间】:2018-02-18 14:37:48 【问题描述】:

在记录 UI 测试后,Xcode 会使用它记录的值生成测试代码。在 Xcode 9 中,其中一些以蓝色突出显示并且似乎不可编辑:

我希望能够复制/粘贴/修改这些值,而无需手动重新键入它们。有没有办法做到这一点?

【问题讨论】:

【参考方案1】:

我为此找到了一个合理的解决方法,但如果有人知道在 Xcode 中编辑这些内容的答案,那仍然是首选。

在 Xcode 中,按住 ctrl 并单击测试文件并选择“在 Finder 中查看”

使用您喜欢的非 Xcode 文本编辑器打开文件。

UIRecording 使用 Swift 内联 cmets 来生成不可编辑的元素。它们看起来像这样:

let userButton = app/*@START_MENU_TOKEN@*/.buttons["User"]/*[[".otherElements[\"PasscodeScreen\"].buttons[\"User\"]",".buttons[\"User\"]"],[[[-1,1],[-1,0]]],[0]]@END_MENU_TOKEN@*/

您可以手动删除这些 cmets,然后它们就可以编辑了。或者,如果您只需要修复一些文本,您也可以在这里进行。

您还可以在您的文本编辑器中创建一个正则表达式,如果您愿意,它可以检查并删除所有这些。但就我而言,我实际上更喜欢锁定的,因为它们提供了切换到不同元素的选项。所以我只想改变和修改其中的一些。

【讨论】:

以上是关于在 Xcode UI 测试中编辑记录的元素的主要内容,如果未能解决你的问题,请参考以下文章

Xcode UI 测试无法编辑多个 UITextFields

在没有可访问性 ID 的 Xcode UI 测试中定位元素

Xcode 8:UI 测试远程按钮错误:找不到焦点元素

如何让 Xcode 7 保留来自 UI 测试目标的日志记录输出?

Xcode UI 测试 - 通过 id 在 Webview 中查找元素

如何在 Xcode UI 测试中识别控制中心元素?