私は現在、Android携帯のテストを自動化するためのコードを開発しています。Python と、Diego Torres によって開発された AndroidViewClient ライブラリを使用して、テスト エンジンをベースにしました。
次のコマンドを使用して、ビューの階層を取得できます。
device, serialno = viewclient.ViewClient.connectToDeviceOrExit()
vc = viewclient.ViewClient(device, serialno)
for id in vc.getViewIds():
attrs = vc.findViewById(id)
#print str(id) + "->" + str(attrs)
WindowTree.append(str(id) + "->" + str(attrs))
それは正常に動作します。ところで、私の問題は、各ビューが独自の階層を持っていることです。例として、通話アプリケーションは、ダイヤル パッド ビューと通話ログ ビューを持つことができます。
このビューにはそれぞれ独自の階層があります。各アイコン/テキスト フィールドを対応する ID で識別できましたが、ビュー名を取得する方法がまだ見つかりませんか??
何か案が ?
現在のビューに応じて反応できます。ダイヤル パッドの場合、ID は blablabla に対応します コール ログ ビューの場合、ID は blablabla に対応します
「vc」を使用してビュー ID を取得しようとしましたが、ダイヤル パッドまたは通話履歴画面にいる場合も同じです。このように、自分がダイヤルパッドにいるのか通話履歴ビューにいるのかを知る方法はありません