NSTextView
でのテキスト操作を含むUIテストがあります。これは正常に動作しますが、試験の一つで、テキストの束が入っているキャッシュXCUIElement(単一要素への複数の呼び出しのパフォーマンスを向上させます)
let sqlTextViewTextView = sqlWindow.textViews["SQL text view"]
、その後、一度に一つの文字を削除した:私は経由XCUIElementを設定電流です。
sqlTextViewTextView.typeText(substring)
// Delete backwards until we are clear
while(true)
{
let targetString:String = sqlTextViewTextView.value as! String
if(0 == targetString.characters.count)
{
break;
} // End of we have no targetString
sqlTextViewTextView.typeKey(XCUIKeyboardKeyDelete, modifierFlags:.None)
} // End of we have text entered
sqlTextViewTextView
のすべての呼び出しは、要素を検索するクエリを評価し、これは、非常に遅くなってしまいます。
このタイトなループ中にクエリをスキップする要素を「キャッシュ」できる方法はありますか?
テストコードは(恐らく書きにくい)Swift 2.迅速な特定の質問ではないので、私はそのようなものとしてタグ付けしませんでした。
textViewを見つけるのに本当に時間がかかりますか、これをログに記録していますか、どれくらいかかりますか?どのインデックスがtextViewに対応しているか知っているなら、 'elementBoundByIndex:'を使ってみることができます。これはより速い検索でなければなりません – Alex