package Ġcom . ati ur in . sample app . tests . espress o _ web Ċ Ċ import Ġandroidx . test . espress o . matcher . View Matchers . with Id Ċ import Ġandroidx . test . espress o . web . assertion . WebView Assertions . web Content Ċ import Ġandroidx . test . espress o . web . assertion . WebView Assertions . web Matches Ċ import Ġandroidx . test . espress o . web . matcher . Dom Matchers . element ById Ċ import Ġandroidx . test . espress o . web . matcher . Dom Matchers . with Text Content Ċ import Ġandroidx . test . espress o . web . s ugar . Web . on WebView Ċ import Ġandroidx . test . espress o . web . webdriver . Driver Atoms .* Ċ import Ġandroidx . test . espress o . web . webdriver . Locator Ċ import Ġcom . ati ur in . sample app . R Ċ import Ġcom . ati ur in . sample app . framework . utils . Assert Utils Ċ import Ġcom . ati ur in . ul tron . core . config . Ul tron Config Ċ import Ġcom . ati ur in . ul tron . core . espress ow eb . we be lement . Ul tron Web Document Ċ import Ġcom . ati ur in . ul tron . core . espress ow eb . we be lement . Ul tron Web Document . Companion . eval JS Ċ import Ġcom . ati ur in . ul tron . core . espress ow eb . we be lement . Ul tron WebElement Ċ import Ġcom . ati ur in . ul tron . core . espress ow eb . we be lement . Ul tron WebElement . Companion . className Ċ import Ġcom . ati ur in . ul tron . core . espress ow eb . we be lement . Ul tron WebElement . Companion . id Ċ import Ġcom . ati ur in . ul tron . core . espress ow eb . we be lement . Ul tron WebElement . Companion . link Text Ċ import Ġcom . ati ur in . ul tron . core . espress ow eb . we be lement . Ul tron WebElement . Companion . xpath Ċ import Ġcom . ati ur in . ul tron . core . espress ow eb . we be lement . Ul tron Web Elements Ċ import Ġcom . ati ur in . ul tron . core . espress ow eb . we be lement . Ul tron Web Elements . Companion . class Names Ċ import Ġorg . hamcrest . Core Matchers . contains String Ċ import Ġorg . hamcrest . Matchers .` is ` Ċ import Ġorg . junit . Assert Ċ import Ġorg . junit . Test Ċ Ċ class ĠE sp ress o Web Ui Elements Test Ġ: ĠBase WebView Test () Ġ{ ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġsimple WebView Test () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġnew Title Ġ= Ġ" New Ġtitle " ĊĠĠĠĠĠĠĠ Ġon WebView () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. force Javascript Enabled () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Element ( findElement ( Locator . ID , Ġ" text _ input ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. perform ( web Keys ( new Title )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Element ( findElement ( Locator . ID , Ġ" button 1 ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. perform ( web Click ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Element ( findElement ( Locator . ID , Ġ" title ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. check ( web Matches ( getText (), Ġcontains String (" New Ġtitle "))) ĊĠĠĠĠĠĠĠ Ġ// find Multiple Elements Ċ // ĠĠĠĠĠĠĠ Ġon WebView (). perform ( find Multiple Elements ( Locator . CLASS _ NAME , Ġ" button ")) Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġ. get () Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġ. forEach Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon WebView (). with Element ( it ). perform ( web Click ()) Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġmultiple Elements WebView Test () Ġ{ ĊĠĠĠĠĠĠĠ ĠU l tron Web Elements ( Locator . CLASS _ NAME , Ġ" button "). getElement s (). forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . web Click () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠU l tron Web Elements ( Locator . CLASS _ NAME , Ġ" link "). getElement s () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . is Success Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwith Timeout ( 1 0 0 ). has Text (" Apple ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. forEach Ġ{ Ġit . web Click () Ġ} ĊĠĠĠĠĠĠĠ ĠclassNames (" link "). getElement s () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . is Success Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwith Timeout ( 1 0 0 ). has Text (" Apple ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. forEach Ġ{ Ġit . web Click () Ġ} ĊĠĠĠĠĠĠĠ Ġpage . title . contains Text (" apple ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġpage Multiple Elements () Ġ{ ĊĠĠĠĠĠĠĠ Ġpage . buttons . getElement s (). forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . web Click () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġext Var 2 WebView Test () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġnew Title Ġ= Ġ" New Ġtitle " ĊĠĠĠĠĠĠĠ Ġid (" text _ input "). web Keys ( new Title ). web Keys (" and Ġmore "). replace Text ( new Title ) ĊĠĠĠĠĠĠĠ Ġid (" button 1 "). web Click () ĊĠĠĠĠĠĠĠ Ġid (" title "). has Text ( new Title ) ĊĠĠĠĠĠĠĠ ĠclassName (" css _ title "). contains Text ( new Title ) ĊĠĠĠĠĠĠĠ Ġlink Text (" Apple "). contains Text (" Apple ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġjs Evaluation Test () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġjs Title Ġ= Ġ" JS _ TITLE " ĊĠĠĠĠĠĠĠ Ġval Ġjs Title New Ġ= Ġ" JS _ TITLE _ NEW " ĊĠĠĠĠĠĠĠ Ġeval JS (" document . getElementById (\" title \" ). innerHTML Ġ= Ġ'$ js Title '; ") ĊĠĠĠĠĠĠĠ ĠclassName (" css _ title ", Ġwith Id ( R . id . webview )). contains Text ( js Title ) Ċ // ĠĠĠĠĠĠĠ Ġon WebView (). script (" document . getElementById (\" title \" ). innerHTML Ġ= Ġ'$ js Title New '; ") Ċ // ĠĠĠĠĠĠĠ ĠWeb Element ( Locator . CLASS _ NAME ," css _ title ", Ġwith Id ( R . id . webview )). contains Text ( js Title New ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun ĠwebView Finder Test () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġjs Title New Ġ= Ġ" JS _ TITLE _ NEW " ĊĠĠĠĠĠĠĠ ĠU l tron Config . Esp ress o . web View Matcher Ġ= Ġwith Id ( R . id . webview ) ĊĠĠĠĠĠĠĠ Ġeval JS (" document . getElementById (\" title \" ). innerHTML Ġ= Ġ'$ js Title New '; ") ĊĠĠĠĠĠĠĠ ĠclassName (" css _ title "). contains Text ( js Title New ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġpage Var 3 WebView Test () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġnew Title Ġ= Ġ" New Ġtitle " ĊĠĠĠĠĠĠĠ Ġpage . textInput . web Keys ( new Title ) ĊĠĠĠĠĠĠĠ Ġpage . button Up d Title . web Click () ĊĠĠĠĠĠĠĠ Ġpage . title . contains Text ( new Title ) ĊĠĠĠĠĠĠĠ Ġpage . title With Css . contains Text ( new Title ) ĊĠĠĠĠĠĠĠ ĠAssert Utils . assert Exception Ġ{ Ġpage . apple Link . with Timeout ( 1 0 0 ). contains Text (" Apple 1 2 3 1 2 ") Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun ĠgetText 2 Test () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġnew Title Ġ= Ġ" New Ġtitle " ĊĠĠĠĠĠĠĠ Ġpage . textInput . web Keys ( new Title ) ĊĠĠĠĠĠĠĠ Ġpage . button Up d Title . web Click () ĊĠĠĠĠĠĠĠ Ġpage . title . has Text ( new Title ) ĊĠĠĠĠĠĠĠ Ġval Ġtitle Text Ġ= Ġpage . title . getText () ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( new Title , Ġtitle Text ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġcheck ButtonText Test () Ġ{ ĊĠĠĠĠĠĠĠ Ġxpath (". //* [@ id =' button 3 ']"). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġexists () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhas Attribute (" value ", Ġ" Set Ġtitle Ġactive ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġweb Interaction Ly ambda () Ġ{ ĊĠĠĠĠĠĠĠ ĠAssert . assertTrue ( id (" button 2 "). getText (). isBlank ()) ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals (" Apple ", Ġid (" apple _ link "). getText ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġelement Not Present Default Timeout () Ġ{ ĊĠĠĠĠĠĠĠ ĠAssert Utils . assert Exec Time Between ( 5 _ 0 0 0 , Ġ 7 _ 0 0 0 ) Ġ{ Ġid (" as das das d "). getText () Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġelement Not Present Custom Timeout () Ġ{ ĊĠĠĠĠĠĠĠ ĠAssert Utils . assert Exec Time Between ( 1 _ 0 0 0 , Ġ 3 _ 0 0 0 ) Ġ{ Ġid (" as das das d "). with Timeout ( 2 0 0 0 ). getText () Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġcustom WebView Assertion Test () Ġ{ ĊĠĠĠĠĠĠĠ ĠU l tron Web Document . assertThat ( web Content ( element ById (" apple _ link ", Ġwith Text Content (" Apple ")) )) ĊĠĠĠĠĠĠĠ Ġid (" apple _ link "). has Attribute (" href ", Ġ` is ` (" fake _ link . html ")) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġcustom Web Assertion Test () Ġ{ ĊĠĠĠĠĠĠĠ Ġid (" apple _ link "). assertThat ( web Matches ( getText (), Ġ` is ` (" Apple "))) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġcontext ual Element () Ġ{ ĊĠĠĠĠĠĠĠ Ġid (" student ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Context ual ( className (" person _ name ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. has Text (" Pl ato ") ĊĠĠĠ Ġ} Ċ }