テスト目的でjavascriptを介してボタンをクリックしたい。最初のページにあるボタンをクリックすることはできますが、最初のページのボタンをクリックした後に表示される2番目のページのボタンをクリックする方法がわかりません。
2 に答える
2 ページ目のボタンへの参照が必要なだけなので、最初のページからプロセスを繰り返します。おそらく、あなたは次のようなことをしました(このコードは、タブバーコントローラーを使用した私のアプリからのものです):
// Now tap the add button
var navBar = mainWindow.navigationBar();
navBar.buttons()["Add"].tap();
// Now the app loads a new page
// Get the nav bar again (it would have changed after the tap above)
navBar = mainWindow.navigationBar();
したがって、答えは簡単です。同じ関数をコールバックするだけで、その時点で画面に表示されているものは何でも返されます。
まず、ボタンにアクセスできることを確認する必要があります。Interface Builder(Identity Inspector-最後のタブ)でAccessabilityプロパティを設定し、ボタンに適切なAccessabilityLabelを付けます。Interface Builderを使用しない場合は、プログラムでボタンのプロパティを設定できます。
これで、スクリプトで呼び出すことができます
mainWindow.buttons()["name of the accessability label"].tap();
メインウィンドウは次のとおりです。
var target = UIATarget.localTarget();
var application = target.frontMostApp();
var mainWindow = application.mainWindow();
ボタンが表示されていることも確認してください。ボタンは、アクセス可能とマークされたビュー階層の最も深い要素である必要があります。ボタンを含むビューがアクセス可能として有効になっている場合、ボタン(サブビュー)のアクセス可能性が非表示になります。
画面に表示されているすべての要素をログに記録できます。
mainwindow.logElementTree();
さらに、いつでも1つのスクリプトを使用できます。mainWindow.elements()は、特定の瞬間に表示されるビューを参照します。