Google/StackOverflowの中から何度も検索して答えを探しました。
元々(Android 6.0以前)、私のオートメーションコードはスムーズに動いていましたが、すべてが許可されたダイアログでブロックされています。
私のアプリケーションはSDカードにデータを保存する必要があり、ランタイムテスト中にcom.android.packageInstallerプロセスによって作成されたSDカードの権限が必要なダイアログを閉じるためにSelendroidオートメーションを使用することができません。
私は自分のアプリケーションの権限を手動で事前設定することができますが、Jenkinsでアプリケーションを再インストールしたり、AppをテストするためにSelendroidの新しいセッションを開始するたびに、すべての設定が消去されます。ここに私の現在の理解からSelendroidの自動化テストでAndroid 6.0権限が必要なダイアログを閉じる
は、この問題を解消することができる方法を、次のとおりです。
1.現在の設定を一掃ないSelendroidを伝えるために、「NORESET」フラグを追加しますが、私はselendroid.io
2でそれを見つけることができません代わりにAppiumを使用してください(AndroidのNoResetフラグが付いていることが書類に記載されています)が、これはSelendroidからAppiumにコードを移植するのに時間がかかります。
そして、移植が完了した後に動作するかどうかしかわかりません。
3. Googleが提供しているその他の方法ですが、見つけられません。
似たような問題を抱えていて、いくつかの情報を持っている人が私と共有できる人は、おかげさまで大変感謝しています。
は今、あなたの問題は、いくつかのダイアログポップアップが来ているされて、あなたはそれを処理したいですか?ダイアログボックスのボタンを押すと動作しますか?あなたの "可能な方法#3"のために、あなたは正確に何を自動化しようとしていますか? – Rilwan
私がしたいのは、表示されるたびにダイアログを受け入れることだけです。 私は受け入れるためにSelendroidを使ってみましたが、どれもうまくいきませんでした。 Selendroidは、SDカードのアクセス許可ダイアログの要素を見つけることができないと言いました.Selendroidは自分のアプリケーションを操作できるだけですが、Systemによって作成されたダイアログを閉じることはできません。 もちろん、私は問題なく手動で解読することができます。 – holy934
あなたはアンドロイドuiautomatorを使用して簡単に "受け入れる"ボタンやダイアログボックスを処理することができます。そうでなければ、 'adb shell input keyevent'を使ってダイアログボックス上のボタンをナビゲートして押すことができます。 – Rilwan