uninstall app before start test

試著忘記壹切 提交于 2020-01-01 03:40:12

问题


We're trying to write instrumentationTest for our app.

For example I want to write test for authorization/registration.

However before every test I want to be unauthorized? so I need to clean all data, delete db, etc.

So is there any way to delete app or app's data before every test?


回答1:


Use Annotations eg:

@BeforeEach

and put your clean up code there.




回答2:


Using Android studio, you can create a test configuration that first uninstalls your app before running a test.

Create a new External Tool.

  1. Go to Preferences -> External Tools.
  2. Click on the "+" icon to create a new tool.
  3. Set Name to "Uninstall myApp" (or whatever you like)
  4. Set Group to "Custom Tools" (or whatever you like)
  5. Set Program to "adb"
  6. Set Parameters to uninstall
  7. Click OK.

You can test that this new tool works by clicking Tools->Custom Tools->"Uninstall myApp".

Step 2. Create or edit your test configuration.

  1. Go to Edit Configurations.
  2. Choose the Android Tests configuration that you'd like to modify.
  3. Under "Before launch: ...", click the "+" icon.
  4. Choose "Run External Tool".
  5. In the popup, choose your new tool "Uninstall myApp".
  6. Use the arrows so that the External Tool is above any other commands like Gradle-aware Make".
  7. Click Ok.

Now, when you run this configuration, your app should be uninstalled first, before your tests are run.




回答3:


This question was asked in '13. We have come a long way since then. Android has jUnit test runner that comes with a cleanup mechanism under test orchestrator.

Check it out here https://developer.android.com/training/testing/junit-runner



来源:https://stackoverflow.com/questions/20705711/uninstall-app-before-start-test

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!