私は見出しの下にある Swift の例に従います。FAQから特定の要素を返し、要素からプロパティを取得する方法はありますか。
FAQ から例を直接コピーしましたが、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 を使用しています