最初に、要素をローカライズするベストプラクティスは一意のIDを使用しています。これを達成するには、XcodeでaccessibilityIdentifier
のapp要素のフィールドを入力する必要があります。
これは、オブジェクトを識別する最も正確な方法です。アプリのオブジェクトのtext
またはaccessibilityIdentifier
プロパティで試合を探している「と記された」構文を使用
query("* id:'account_select_button'")
クエリ:その後、あなたは、このようなクエリを使用することができます。このメソッドは、多言語アプリケーションやラベルが変更された場合には適していません。待っている要素については
あなたはsleep
の代わりにこれを使用する必要があります。デフォルトでは
wait_for_element_exists("* marked:'Select Accounts'", :timeout => 10)
touch("* marked:'Select Accounts'")
は、ひょうたんのクエリにのみ表示オブジェクトの属性で検索します。要素はビューポートの外にある場合、あなたはそれで何かを行うことができます前に、要素が表示されるまでスクロールする必要があります。
while (query("* marked:'Select Accounts'").empty?) == true
swipe :up #it performs scroll down, swipe :up equals scroll up
sleep 1 #in this case you have to wait between two swipes
end
私が試したことがないが、別の方法があります。私が読んだように、この式は、要素の可視性に関係なく、すべてのビューでクエリを実行します。
query("all marked:'Select Accounts'")
query("all view marked:'Select Accounts'")
query("all * marked:'Select Accounts'")