我正在使用 Xcode 7 和 swift 构建一个自动化套件。
我的应用加载了以下警报 View :
允许“Light Alarm”在您使用应用程序时访问您的位置吗?
当我使用 UI 测试记录并单击此警报时,我得到以下代码: app.alerts["允许\U201cLight Alarm\U201c 在您使用该应用程序时访问您的位置?"]
注意:引号已替换为\U201c
但是,当我尝试编译时,出现以下错误: “文字中的无效转义序列”
有人知道如何解决这个问题吗?
最佳答案
这似乎是在 UI 录制期间生成代码时 Xcode 中的一个错误。
Swift 在字符串文字中使用 \u{NNNN}
转义序列,所以
app.alerts["Allow \u{201c}Light Alarm\u{201c} ..."]
会是正确的,或者只是
app.alerts["Allow “Light Alarm“ ..."]
(实际上应该是“Allow “Light Alarm” ...”
第二个引号是 U+201D = 右双引号 :)
在 Objective-C 中报告了 UI 记录代码的类似问题 Incomplete universal character name in UI Testing .
我不知道解决方法,看来你唯一能做的 目前是在记录后修复代码(并发送了错误报告 给苹果)。
关于xcode - swift UITesting 错误 : Invalid escape sequence in literal.\U201c,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32712582/