package Ġcom . kar umi . shot Ċ Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġandroidx . fragment . app . testing . Fragment Scenario Ċ Ċ /** Ċ Ġ* ĠShot Ġneeds Ġto Ġbe Ġexecuted Ġfrom Ġthe Ġinstrument ation Ġthread Ġto Ġbe Ġable Ġto Ġextract Ċ Ġ* Ġall Ġthe Ġtest Ġmetadata Ġneeded Ġto Ġrecord Ġand Ġverify Ġscreenshots . ĠThat 's Ġwhy Ġwe 've Ġcreated Ġthis Ċ Ġ* Ġextension Ġto Ġbe Ġable Ġto Ġget Ġthe Ġfragment Ġinstance Ġfrom Ġthe Ġinstrument ation Ġthread Ġinstead Ċ Ġ* Ġof Ġrunning ĠShot Ġfrom Ġthe Ġapp Ġtarget Ġthread . ĠI Ġhope Ġwe Ġcan Ġfind Ġa Ġbetter Ġsolution Ġin Ġthe Ġfuture . Ċ Ġ* Ċ Ġ* ĠImplementation Ġis Ġanalog ous Ġto Ġ[ Activity Scenario Utils . waitFor Activity ]. Ċ Ġ*/ Ċ object ĠFragment Scenario Utils Ġ{ ĊĠĠĠ Ġfun Ġ< F Ġ: ĠFragment > ĠFragment Scenario < F >. waitFor Fragment (): ĠF Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġfragment : ĠF ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġon Fragment Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfragment Ġ= Ġit ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( fragment Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfragment !! ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠIllegalStateException (" The Ġfragment Ġscenario Ġcould Ġnot Ġbe Ġinitialized .") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ