我正在关注标题下的 Swift 示例是否有办法从常见问题解答中返回特定元素以尝试从元素中检索属性。
我直接从常见问题解答中复制了示例,但在调用 performAction 之后,textValue 仍然具有其原始值。事实上,无论我在操作块中将 inout 参数设置为什么,一旦操作返回,变量就会保留其原始值。
我错过了什么?这是我的代码:
func grey_getText(inout text: String) -> GREYActionBlock {
return GREYActionBlock.actionWithName("get text",
constraints: grey_respondsToSelector(Selector("text")),
performBlock: { element, errorOrNil -> Bool in
text = element.text
print("in block: \(text)")
return true
})
}
并在测试方法中:
var textValue = ""
let domainField = EarlGrey().selectElementWithMatcher(grey_text("Floor One"))
domainField.assertWithMatcher(grey_sufficientlyVisible())
domainField.performAction(grey_getText(&textValue))
print("outside block: \(textValue)")
印刷
in block: Floor One
outside block:
我正在使用 XCode 版本 7.3.1