package Ġcom . soft mot ions . nc ms . ui Ċ Ċ import Ġorg . one and one . qx webdriver . By . qx h Ċ import Ġorg . openqa . selenium . chrome . Chrome Options Ċ import Ġorg . testng . annotations . After Class Ċ import Ġorg . testng . annotations . BeforeClass Ċ import Ġorg . testng . annotations . Test ĊĊ Ċ /** Ċ Ġ* Ġ@ author ĠAdam ans ky ĠAnt on Ġ( adam ans ky @ soft mot ions . com ) Ċ Ġ*/ Ċ @ Test ( groups Ġ= ĠarrayOf (" ui ")) Ċ class Ġ_ Test Simple Site UI ( db : ĠString ) Ġ: ĠBase Admin UIT est ( db ) Ġ{ ĊĊĠĠĠ Ġconstructor () Ġ: Ġthis ( DEFAULT _ DB ) Ġ{ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ BeforeClass ĊĠĠĠ Ġoverride Ġfun Ġsetup () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . setup () ĊĠĠĠĠĠĠĠ Ġdriver . get ( R ("/ adm / index . html ")) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ After Class ĊĠĠĠ Ġoverride Ġfun Ġshutdown () Ġ= Ġsuper . shutdown () ĊĊĊĠĠĠ Ġoverride Ġfun Ġinit Driver ( driver Type : ĠString , Ġoptions : ĠChrome Options ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// options . add Arguments (" start - max im ized ") ĊĠĠĠĠĠĠĠ Ġoptions . add Arguments (" log - level = 0 ", Ġ" enable - logging = stderr ") ĊĠĠĠĠĠĠĠ Ġsuper . init Driver ( driver Type , Ġoptions ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Toolbar Labels () Ġ{ ĊĠĠĠĠĠĠĠ ĠwaitFor Presence ( qx h (" */ nc ms . Toolbar /*/ [@ label = Pages ] ")) ĊĠĠĠĠĠĠĠ Ġfind Widget (" */ nc ms . Toolbar /*/ [@ label = News ]") ĊĠĠĠĠĠĠĠ Ġfind Widget (" */ nc ms . Toolbar /*/ [@ label = Media ]") ĊĠĠĠĠĠĠĠ Ġfind Widget (" */ nc ms . Toolbar /*/ [@ label = As semblies ]") ĊĠĠĠĠĠĠĠ Ġfind Widget (" */ nc ms . Toolbar /*/ [@ label = Tools ]") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Create Basic As semblies () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġa Ġ= Ġassemblies . activate () ĊĊĠĠĠĠĠĠĠ Ġa . create Assembly (" basic ") ĊĠĠĠĠĠĠĠ Ġa . select Assembly (" basic "); ĊĠĠĠĠĠĠĠ Ġa . set Basic Assembly Params ( description Ġ= Ġ" Basic Ġassembly ") ĊĊĠĠĠĠĠĠĠ Ġa . create String Attr ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" title ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlabel Ġ= Ġ" Title ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrequired Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠmaxLength Ġ= Ġ 6 4 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Ġ= Ġ" 4 ca 2 4 da 7 5 1 ac 4 8 9 9 a 5 6 a 1 3 a 4 0 9 1 a 0 f 6 f " ĊĠĠĠĠĠĠĠ Ġ); ĊĠĠĠĠĠĠĠ Ġa . create String Attr ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" extra ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Ġ= Ġ" 3 d 7 0 f 5 5 efd 8 e 4 e 5 b 9 cff 1 4 7 9 1 0 3 be 1 1 5 " ĊĠĠĠĠĠĠĠ Ġ); ĊĠĠĠĠĠĠĠ Ġa . create String Attr ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" extra 2 " ĊĠĠĠĠĠĠĠ Ġ); ĊĠĠĠĠĠĠĠ Ġa . create Alias Attr () ĊĊĊĠĠĠĠĠĠĠ Ġa . create Assembly (" basic _ content ") ĊĠĠĠĠĠĠĠ Ġa . select Assembly (" basic _ content ") ĊĠĠĠĠĠĠĠ Ġa . set Basic Assembly Params ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Ġ= Ġ" Simple Ġpage Ġwith Ġcontent ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtemplate Mode Ġ= Ġ" page " ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġa . add Assembly Parent (" basic ") ĊĠĠĠĠĠĠĠ Ġa . check Attribute Exists ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" extra 2 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtype Ġ= Ġ" string " ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġa . check Attribute Exists ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" extra ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtype Ġ= Ġ" string ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Ġ= Ġ" 3 d 7 0 f 5 5 efd 8 e 4 e 5 b 9 cff 1 4 7 9 1 0 3 be 1 1 5 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġselect Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ// ĠAdd Ġoptional Ġmedi aw iki Ġattribute ĊĠĠĠĠĠĠĠ Ġa . create Wiki Attr (" content ", Ġ" Content ", Ġrequired Ġ= Ġtrue ) ĊĊĊĠĠĠĠĠĠĠ Ġ// ĠTest Ġremoval Ġof Ġattribute ĊĠĠĠĠĠĠĠ Ġa . select Assembly (" basic ") ĊĠĠĠĠĠĠĠ Ġa . removeAttribute (" extra 2 ") ĊĠĠĠĠĠĠĠ Ġa . check Attribute Exists ( name Ġ= Ġ" extra 2 ", Ġinvert Ġ= Ġtrue ) ĊĊĊĠĠĠĠĠĠĠ Ġ// ĠIn Ġbasic _ content Ġset Ġcore ĊĠĠĠĠĠĠĠ Ġa . select Assembly (" basic _ content ") ĊĠĠĠĠĠĠĠ Ġa . open Select Core Dlg () ĊĊĠĠĠĠĠĠĠ Ġval Ġf Ġ= Ġselect File Dlg ĊĠĠĠĠĠĠĠ Ġf . new File (" basic _ content _ core . ht tl ") ĊĠĠĠĠĠĠĠ Ġf . new File (" to _ be _ deleted . txt ") ĊĠĠĠĠĠĠĠ Ġf . delete File (" to _ be _ deleted . txt ") ĊĊĠĠĠĠĠĠĠ Ġf . set File Text ual Content (" basic _ content _ core . ht tl ", Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ< html > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< head > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< title >${ D }{ asm (' title ') }</ title > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ</ head > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< h 1 > Simple Ġpage </ h 1 > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< p > Extra =${ D }{' extra '. asm }</ p > ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ${ D }{' content '. asm } ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ</ html > ĊĠĠĠĠĠĠĠ Ġ"" ") ĊĠĠĠĠĠĠĠ Ġf . ok () ĊĊĠĠĠĠĠĠĠ Ġdriver Wait 5 . until Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġa . get Asm Core Value () Ġ== Ġ"/ basic _ content _ core . ht tl " ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ@ Test ( depends On Methods Ġ= ĠarrayOf (" test Create Basic As semblies ")) ĊĠĠĠ Ġfun Ġtest Create Page On Basic Content Assembly () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġp Ġ= Ġpages . activate () ĊĠĠĠĠĠĠĠ Ġval Ġsit ed ir Ġ= Ġp . new Page ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext Ġ= Ġp . select Page Node ( label Ġ= Ġ" Pages "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" Test Simple Site UI ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Directory Ġ= Ġtrue ) ĊĊĠĠĠĠĠĠĠ Ġval Ġsite 1 Ġ= Ġp . new Page ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext Ġ= Ġsit ed ir , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" Site 1 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Directory Ġ= Ġfalse ) ĊĊĠĠĠĠĠĠĠ Ġval Ġedit Pane Ġ= Ġp . activate Page Edit () ĊĠĠĠĠĠĠĠ Ġedit Pane . set Page Template (" basic _ content ") ĊĊĊĠĠĠĠĠĠĠ Ġ// wait Fore ver () ĊĠĠĠ Ġ} Ċ Ċ }