package Ġcom . kas per sky . kas press o . device . screenshots . screenshot files Ċ Ċ import Ġjava . io . File Ċ Ċ /** Ċ Ġ* ĠDefault Ġimplementation Ġof Ġ[ Screenshot Directory Provider ] Ċ Ġ* ĠIf Ġ[ groupBy Run Numbers ] Ġis Ġtrue Ġit Ġgroups Ġscreenshots Ġby Ġrun Ġnumbers Ġof Ġtests . ĠIt Ġallows Ġto Ġsave Ġall Ġscreenshots Ġof Ġa Ġtest Ċ Ġ* Ġrunning Ġseveral Ġtimes Ġper Ġthe Ġsame Ġsuite . Ċ Ġ*/ Ċ class ĠDefault Screenshot Directory Provider ( ĊĠĠĠ Ġprivate Ġval Ġgroup By Run Numbers : ĠBoolean Ċ ) Ġ: ĠScreen shot Directory Provider Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠNAME _ SEPARATOR Ġ= Ġ"_" ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Directory For Test ( test Method : ĠTest Method , Ġrun Number : ĠInt ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcleared ClassName Ġ= Ġtest Method . className . replace ("[ ^ A - Za - z 0 - 9 ._ - ] ". to Regex (), ĠNAME _ SEPARATOR ) ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( groupBy Run Numbers ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" run _$ run Number " Ġ+ ĠFile . separator Ġ+ Ġcleared ClassName Ġ+ ĠFile . separator Ġ+ Ġtest Method . methodName ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcleared ClassName Ġ+ ĠFile . separator Ġ+ Ġtest Method . methodName ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }