web-dev-qa-db-ja.com

Espressoテストの実行時にコードでアニメーションを無効にする方法

誰かがEspressoテストを実行しているときにアニメーションを無効にすることに成功しましたかコードを介して?私はこのウェブページの指示に従おうとしています( ここ からリンクされています):
https://code.google.com/p/Android-test-kit/wiki/DisablingAnimations

残念ながら、この権限エラーが引き続き表示されるため、機能していないようです。

04-27 15:48:28.694      303-342/system_process W/PackageManager﹕ Not granting permission Android.permission.SET_ANIMATION_SCALE to package com.cookbrite.dev (protectionLevel=50 flags=0x18be46)

私は自分のデバイス/エミュレーターを再構成することを避けたいと本当に望んでいました。個別のテストをローカルで頻繁に実行するため、設定を切り替え続ける必要があると煩わしくなります。

他の開発者がこれが機能しないと不平を言っているのに気づいたので、私は一人ではないかもしれません:
https://groups.google.com/forum/#!msg/Android-test-kit-discuss/TCil7kMQRTM/QK1qCjzM6KQJ

13
Dan J

私はついにこれを機能させました。必要な手順をリストした要点は次のとおりです。
https://Gist.github.com/daj/7b48f1b8a92abf960e7b

私が見逃した重要なステップは、許可を与えるためにadbを実行することでした。

adb Shell pm grant com.mypackage Android.permission.SET_ANIMATION_SCALE    

マニフェストに権限を追加してリフレクション手順を実行するだけでは、十分ではないようです。

10
Dan J

アニメーションの種類ごとに次の3つのコマンドを実行していますが、これらは機能しています。

adb Shell settings put global window_animation_scale 0.0
adb Shell settings put global transition_animation_scale 0.0
adb Shell settings put global animator_duration_scale 0.0

詳細はこちら- prepare Android UIテスト自動化用エミュレーター

20
denys