Dan*_*n J 11 android android-animation android-permissions android-espresso android-instrumentation
有没有人设法在运行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)
Run Code Online (Sandbox Code Playgroud)
我真的希望避免重新配置我的设备/模拟器.我们经常在本地进行个别测试,如果我必须保持切换设置,它会让我烦恼.
我注意到其他一些开发人员抱怨说这不起作用,所以我可能并不孤单:https://groups.google.com/forum/#! msg/android-test-kit- discuss/
TCil7kMQRTM/QK1qCjzM6KQJ
den*_*nys 16
我正在为每种动画类型执行这三个命令,它们正在为我工作:
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
Run Code Online (Sandbox Code Playgroud)
更多信息 - 为UI测试自动化准备android模拟器.
Dan*_*n J 10
我终于开始工作了.这是一个列出所需步骤的要点:https:
//gist.github.com/daj/7b48f1b8a92abf960e7b
我错过的关键步骤是运行adb
以授予权限:
adb shell pm grant com.mypackage android.permission.SET_ANIMATION_SCALE
Run Code Online (Sandbox Code Playgroud)
向清单添加权限并运行反射步骤本身似乎不够.
如果您从命令行运行测试app/build.gradle
,更好的方法是更新。
android {
...
...
testOptions {
animationsDisabled = true
}
}
Run Code Online (Sandbox Code Playgroud)
您可能需要./gradlew clean
在重建之前做一些事情。如果您使用 android studio,假设 apk 中没有任何更改,它可能不会更新您设备上的 apk。请留意这些内容,以确保更改确实在您的设备上生效。
另请阅读此处的文档。
在从命令行运行的仪器测试期间禁用动画。
如果将此属性设置为 true,则从命令行使用 Gradle 运行检测测试会使用 --no-window-animation 标志执行 am Instrument。默认情况下,该属性设置为 false。
此属性不会影响您使用 Android Studio 运行的测试。
归档时间: |
|
查看次数: |
10556 次 |
最近记录: |