Descrição de como melhoramos nosso processo de deploy ao integrar os testes de aceitação com Watir no pipeline do Jenkins, com um tempo de execução adequado.
e venda de artesanato Maior marketplace de artesanato da América Latina Mais de: · · · 105 mil artesães 1,7 milhões de produtos 1,5 buscas por segundo 7,8 milhões de visitas/mês 60 milhões de pageviews/mês - - - - - Dados: Dez/2012
u i r e " r u b y g e m s " r e q u i r e " r s p e c " r e q u i r e " w a t i r - w e b d r i v e r " d e s c r i b e " g o o g l e . c o m " d o l e t ( : b r o w s e r ) { @ b r o w s e r | | = W a t i r : : B r o w s e r . n e w : f i r e f o x } b e f o r e { b r o w s e r . g o t o " h t t p : / / g o o g l e . c o m " } a f t e r { b r o w s e r . c l o s e } i t " s h o u l d s e a r c h f o r w a t i r " d o b r o w s e r . t e x t _ f i e l d ( : n a m e = > " q " ) . s e t " w a t i r " b r o w s e r . b u t t o n . c l i c k b r o w s e r . d i v ( : i d = > " r e s u l t S t a t s " ) . w a i t _ u n t i l _ p r e s e n t b r o w s e r . t i t l e . s h o u l d = = " w a t i r - G o o g l e S e a r c h " e n d e n d R U B Y
$ b u n d l e e x e c r a k e s p e c [ r u n _ a c c e p t a n c e _ t e s t s ] r u n n i n g t e s t s : . / c r e a t e _ p r o d u c t _ s p e c . r b . / r e g i s t e r _ a s _ s e l l e r _ s p e c . r b . / r e g i s t e r _ a s _ b u y e r _ s p e c . r b . / s t o r e _ i m a g e s _ s p e c . r b . / s e a r c h i n g _ s p e c . r b . / d e t e c t _ n o n _ s s l _ c o m p o n e n t s _ s p e c . r b . / a l b u m _ s p e c . r b . / f a v o r i t e s _ s p e c . r b . / f e a t u r e d _ s u b s c r i p t i o n _ s p e c . r b . / c a r t _ s p e c . r b . / b u y _ p r o d u c t _ s p e c . r b $ g r e p ' i t " ' * . r b | w c - l 7 4
ações comuns @nirev [email protected] d e f c r e a t e _ a l b u m a t t r i b u t e s a t t r i b u t e s = { n a m e : " N e w a l b u m " , i m g : " . . / r e s / u s e r _ p i c . j p g " } . m e r g e a t t r i b u t e s @ b r o w s e r . f i l e _ f i e l d ( n a m e : " i m a g e F i l e " ) . s e t F i l e . e x p a n d _ p a t h a t t r i b u t e s [ : i m g ] @ b r o w s e r . t e x t _ f i e l d ( n a m e : " a l b u m N a m e " ) . w h e n _ p r e s e n t . s e t a t t r i b u t e s [ : n a m e ] @ b r o w s e r . b u t t o n ( i d : " c r e a t e - a l b u m - s u b m i t " ) . w h e n _ p r e s e n t . c l i c k e n d d e f r e g i s t e r _ n e w _ u s e r f u l l _ n a m e , e m a i l , b i r t h _ d a t e , p a s s w d , p a s s w d _ c o n f i r m @ b r o w s e r . t e x t _ f i e l d ( : i d = > " f u l l N a m e " ) . w h e n _ p r e s e n t . s e t f u l l _ n a m e @ b r o w s e r . t e x t _ f i e l d ( : i d = > " e m a i l " ) . w h e n _ p r e s e n t . s e t e m a i l . . . @ b r o w s e r . b u t t o n ( : i d = > " s u b m i t B u t t o n " ) . w h e n _ p r e s e n t . c l i c k e n d R U B Y
utilizava um usuário padrão pra tomar certas ações e modificavam o estado dessa conta. Foi mais fácil de criar os testes no começo, mas impede que eles sejam executados em paralelo · ·
suas depêndencias antes de ser executado. E só deve utilizar o que foi criado. · d e s c r i b e " P r o d u c t C r e a t i o n " d o l e t ( : s e l l e r ) { U s e r . c r e a t e _ s e l l e r } b e f o r e : a l l d o @ t e s t _ h e l p e r = M a r k e t P l a c e T e s t H e l p e r . s t a r t ! @ t e s t _ h e l p e r . l o g i n s e l l e r . e m a i l , s e l l e r . p a s s w o r d _ p l a i n e n d . . . a f t e r : a l l d o s e l l e r . d e s t r o y @ t e s t _ h e l p e r . f i n i s h ! e n d R U B Y
de testes auto-contidos Utilização do site apenas para o que é do escopo do teste. As dependências podem ser criadas por fora. Mais de uma instância do browser rodando na mesma máquina normalmente causa problemas. O tempo de execução é inverso à sua quantidade de slaves. Cultura de deploys!