Testar inconsistências estruturais e semânticas em várias páginas é trabalhoso • Deveria haver um jeito mais fácil de validarmos código HTML de acordo com nossos critérios de qualidade 01 F.biz | COMPANY CONFIDENTIAL
s . n a m e = " N o m e d o t e s t e " ; e x p o r t s . i n f o = " D e s c r i ç ã o d o t e s t e " ; e x p o r t s . r u n = f u n c t i o n ( t e s t ) { / / < - - s e m p r e r e c e b e o p a r â m e t r o t e s t / / v a l i d a ç õ e s / l ó g i c a } ; 0 1 . 0 2 . 0 3 . 0 4 . 0 5 . 0 6 . 02 F.biz | COMPANY CONFIDENTIAL
. / h q a - t e s t s /: e x p o r t s . n a m e = " V a l i d a d o r b á s i c o " ; e x p o r t s . i n f o = " F a z v a l i d a ç õ e s b á s i c a s ( n ã o d i g a ? ! ) " ; e x p o r t s . r u n = f u n c t i o n ( t e s t ) { t e s t . s e c t i o n ( " T e s t a n d o h e a d e r s " ) ; t e s t . a s s e r t E x i s t s ( " h 1 " , " d e v e e x i s t i r h 1 " ) ; t e s t . s e c t i o n ( " T e s t a n d o l i n k s " ) ; t e s t . a s s e r t A t t r F a l s e ( " a " , " h r e f " , [ " " , " # " ] , " l i n k s n ã o p o d e m s e r v a z i o s o u a p e n a s # " ) ; } ; 0 1 . 0 2 . 0 3 . 0 4 . 0 5 . 0 6 . 0 7 . 0 8 . 0 9 . 1 0 . 1 1 . 1 2 . 03 F.biz | COMPANY CONFIDENTIAL
l s . j s: e x p o r t s . u r l L i s t = [ { u r l : ' h t t p : / / w w w . f b i z . c o m . b r / ' } , { u r l : ' h t t p : / / w w w . f b i z . c o m . b r / s o b r e ' } , { u r l : ' h t t p : / / w w w . f b i z . c o m . b r / t r a b a l h o s ' } ] ; E então… $ . / h y o j u n . q a - v 0 1 . 0 2 . 0 3 . 0 4 . 0 5 . 05 F.biz | COMPANY CONFIDENTIAL
s . j s: e x p o r t s . a u t h I n f o = { a c t i o n : ' h t t p : / / w w w . s i t e . c o m / l o g i n / L o g a r ' , m e t h o d : ' p o s t ' , f i e l d s : { ' l o g i n V i e w M o d e l . L o g i n ' : ' u s u a r i o @ e m a i l . c o m ' , ' l o g i n V i e w M o d e l . S e n h a ' : ' s 3 n h 4 ' } , d y n a m i c F i e l d s : [ ' _ _ R e q u e s t V e r i f i c a t i o n T o k e n ' ] , d y n a m i c S o u r c e : ' h t t p : / / w w w . s i t e . c o m / l o g i n ' } ; 0 1 . 0 2 . 0 3 . 0 4 . 0 5 . 0 6 . 0 7 . 0 8 . 0 9 . 1 0 . 1 1 . 1 2 . 06 F.biz | COMPANY CONFIDENTIAL
l s . j s: e x p o r t s . u r l L i s t = [ { u r l : ' h t t p : / / w w w . s i t e . c o m / ' , a u t h : f a l s e } , { u r l : ' h t t p : / / w w w . s i t e . c o m / a c c o u n t ' , a u t h : t r u e } , { u r l : ' h t t p : / / w w w . s i t e . c o m / a c c o u n t ' , a u t h : f a l s e } / / < - w / o a u t h ] ; E então: $ . / h y o j u n . q a - v - a 0 1 . 0 2 . 0 3 . 0 4 . 0 5 . 07 F.biz | COMPANY CONFIDENTIAL
o n f i g . j s para definir uma array de testes que serão rodados em cada página: e x p o r t s . t e s t O r d e r = [ ' . / m y t e s t s / t e s t _ s t r u c t u r e . j s ' , ' . / m y t e s t s / t e s t _ h e a d e r _ f o o t e r . j s ' , ' . / m y t e s t s / t e s t _ c o n t a i n e r s . j s ' , ' . / m y t e s t s / t e s t _ s t a n d a r d s . j s ' ] ; 0 1 . 0 2 . 0 3 . 0 4 . 0 5 . 0 6 . 08 F.biz | COMPANY CONFIDENTIAL
. q a - s h t t p : / / w w w . s i t e . c o m - v - c Busca pelo arquivo s i t e m a p . x m l na raiz do domínio do site fornecido e roda o(s) teste(s) em todas as URLs encontradas. Caso o site não seja fornecido na flag - s, busca o s i t e m a p . x m l no domínio da primeira URL listada no arquivo h q a . u r l s . j s. 09 F.biz | COMPANY CONFIDENTIAL