質問

アプリの共有機能をテストしたいのですが、Android ダイアログの「アクションを完了する方法」(Facebook、Gmail など) の処理方法がわかりません。
使用するとき query("*") 空のフィールドのセットが返されます。
Calabash を使用してそのようなシステム ダイアログを処理する方法、または共有などの機能をテストする他の方法はありますか?

物理デバイスでテストを実行しています。

編集:ダイアログが開いているかどうかを確認する方法がない場合は、adbシェルなどを使用することで可能でしょうか?

役に立ちましたか?

解決

これはあまり洗練されたソリューションではありませんが、adb を使用して画面タッチをシミュレートできます。それをカバーする答えがここにあります - ADBを使用したタッチのシミュレーション

編集:adb を使用してすべての UI 要素のファイルをダンプする方法の詳細を追加しました。

platforms/android-L フォルダー内の Android SDK には、uiautomater.jar というツールがあり、adb がテストを実行したり (私はそのために使用したことはありませんが)、表示されている要素の xml ファイルをダンプしたりするために使用できます。

adb shell uiautomator dump test.xml

xml ファイルが (コンピューターではなくデバイス上に) 作成されます。これをコード内で調べて、必要なポップアップを確認できます。ポップアップを操作したい場合は、XML ダンプで指定された座標を使用して必要なポップアップを選択し、adb touch イベントを使用してクリックします。

あまりきれいな解決策ではありませんが、テストに組み込むのがそれほど難しくないことを願っています:)

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top