package Ġcom . code bor ne . se len ide . commands Ċ Ċ import Ġcom . code bor ne . se len ide . Command Ċ import Ġcom . code bor ne . se len ide . Condition . Companion . value Ċ import Ġcom . code bor ne . se len ide . Sel en ide Element Ċ import Ġcom . code bor ne . se len ide . ex . Element NotFound Ċ import Ġcom . code bor ne . se len ide . ex . Invalid StateException Ċ import Ġcom . code bor ne . se len ide . impl . WebElement Source Ċ import Ġcom . code bor ne . se len ide . impl . WebElement Wrapper Ċ Ċ class ĠSelect Radio Ġ: ĠCommand < Sel en ide Element > Ġ{ ĊĠĠĠ Ġprivate Ġval Ġclick : ĠClick ĊĊĠĠĠ Ġconstructor () Ġ{ ĊĠĠĠĠĠĠĠ Ġclick Ġ= ĠClick () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġconstructor ( click : ĠClick ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . click Ġ= Ġclick ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġexecute ( proxy : ĠSelen ide Element , Ġlocator : ĠWeb Element Source , Ġargs : ĠArray < out ĠAny ?> ): ĠSelen ide Element Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġvalue Ġ= ĠUtil . first Of < String >( args ) ĊĠĠĠĠĠĠĠ Ġval Ġmatching Radio Buttons Ġ= Ġlocator . findAll () ĊĠĠĠĠĠĠĠ Ġfor Ġ( radio Ġin Ġmatching Radio Buttons ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( value Ġ== Ġradio . getAttribute (" value ")) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( radio . getAttribute (" readonly ") Ġ!= Ġnull ) Ġthrow ĠInvalid StateException ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlocator . driver (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Cannot Ġselect Ġreadonly Ġradio Ġbutton " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclick . click ( locator . driver (), Ġradio ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠWeb Element Wrapper . wrap ( locator . driver (), Ġradio ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġthrow ĠElement NotFound ( locator . driver (), Ġlocator . description (), Ġvalue ( value )) ĊĠĠĠ Ġ} Ċ } Ċ