@@ -20,6 +20,7 @@ import androidx.benchmark.macro.StartupMode
2020import  androidx.benchmark.macro.StartupTimingMetric 
2121import  androidx.benchmark.macro.junit4.MacrobenchmarkRule 
2222import  androidx.test.ext.junit.runners.AndroidJUnit4 
23+ import  androidx.test.platform.app.InstrumentationRegistry 
2324import  org.junit.Rule 
2425import  org.junit.Test 
2526import  org.junit.runner.RunWith 
@@ -31,12 +32,32 @@ class StartupBenchmark {
3132  @Test
3233  fun  startup () = 
3334    benchmarkRule.measureRepeated(
34-       packageName =  " com.google.firebase.testing.sessions " 
35+       packageName =  PACKAGE_NAME ,
3536      metrics =  listOf (StartupTimingMetric ()),
3637      iterations =  5 ,
3738      startupMode =  StartupMode .COLD ,
3839    ) {
3940      pressHome()
4041      startActivityAndWait()
4142    }
43+ 
44+   @Test
45+   fun  startup_clearAppData () = 
46+     benchmarkRule.measureRepeated(
47+       packageName =  PACKAGE_NAME ,
48+       metrics =  listOf (StartupTimingMetric ()),
49+       iterations =  5 ,
50+       startupMode =  StartupMode .COLD ,
51+     ) {
52+       pressHome()
53+       InstrumentationRegistry .getInstrumentation()
54+         .uiAutomation
55+         .executeShellCommand(" pm clear $PACKAGE_NAME " 
56+         .close()
57+       startActivityAndWait()
58+     }
59+ 
60+   private  companion  object  {
61+     const  val  PACKAGE_NAME  =  " com.google.firebase.testing.sessions" 
62+   }
4263}
0 commit comments