我使用Espresso和UIAutomator編寫我的測試用例。我在測試外部存儲權限時會拒絕其允許的時間。 我有不同的測試用例,它們都需要在測試用例開始時被取消權限。 但是,某些測試用例應該並且確實會授予權限,因此我需要在執行下一個測試時撤銷權限。 我已經搜索過,最近遇到的情況是使用pm管理器執行adb shell命令來撤消權限。但是通過這樣做,我會得到以下錯誤,由於'進程崩潰'導致Instrumentation運行失敗。有什麼方法可以確保在每個測試用例開始時都會取消權限?如果不是,這個問題怎麼解決關於測試權限?提前謝謝你的幫助!每次測試開始時的Android吊銷許可
這是代碼片段我現在有權撤銷各測試用例之前許可(不工作):
:@Before
public void setUp() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
getInstrumentation().getUiAutomation().executeShellCommand(
"pm revoke " + getTargetContext().getPackageName()
+ " android.permission.WRITE_EXTERNAL_STORAGE");
}
}
試圖撤銷許可與上面的代碼片斷時,相應的錯誤信息
Test failed to run to completion. Reason: 'Instrumentation run failed due to 'Process crashed.''.
我可能是這個錯誤(沒有棒棒糖設備),但棒棒糖有那個ADB命令「撤銷」?這不僅適用於M +嗎? – Ryan
你好,瑞恩,我相信這樣做,錯誤消失之後,我在if語句中包裝命令。我正在測試它的模擬器也是Android 6.0以及 –
是不是有辦法模擬權限管理? –