从Xcode UITests中的Menu Token字段中选择文本

时间:2018-03-13 14:46:45

标签: xcode xcode-ui-testing

UITests - token field with dropdown menu

我看到一个关于for r_row in ( select phone_number num_ from phone_numbers where instr(separator || num_list || separator, separator || phone_number || separator) > 0 ) loop PIPE ROW(nb(r_row.num_)); end loop; 的WWDC视频,如果你双击Xcode中的蓝色标记字段,它会变成文本并删除菜单(也就是蓝色的东西),但是当我双击时该领域,它只是被删除。

1 个答案:

答案 0 :(得分:4)

实际上,双击技巧在Xcode 9中不起作用。但是,我们总能使用Regex的强大功能。

为此,要么:

  • 打开左侧边栏上的查找导航器(左起第四个图标),然后从顶部的第一个切换开始选择替换
  • 导航至查找/查找和替换...

之后,选择正则表达式选项:

  • 如果您正在使用“查找导航器”
  • ,请单击菜单并更改搜索方法
  • 或打开右侧菜单(位于文本 Aa 的按钮右侧),如果您更喜欢使用本地查找和替换对话框

令牌字段的开头始终以/*@START_MENU_TOKEN@*/表示,后跟实际选定的文本。之后,有一个所有可能选项的文本表示,以@END_MENU_TOKEN@*/结束。例如:

/*@START_MENU_TOKEN@*/.cells.buttons["Button Text"]/*[[".cells.buttons[\"Button Text\"]",".buttons[\"Button Text\"]"],[[[-1,1],[-1,0]]],[1]]@END_MENU_TOKEN@*/

在我们的正则表达式中,我们应该删除所有直接出现在/*@START_MENU_TOKEN@*/之后和选项块之前的文本。我们可以通过捕获该片段并用该片段替换所有这些混乱来实现这一点。

对于替换,请输入以下内容:

/\*@START_MENU_TOKEN@\*/(.*.)/\*(.*.)@END_MENU_TOKEN@\*/

...对于使用,请输入:

$1

点击替换,如果您只想从光标后的最近匹配项中删除令牌字段,或选择全部,如果您想要全部删除它们。

screenshot of the Find and Replace... dialog