Categories
Fun

Ajude a facilitar a vida dos preguiçosos e ganhe um convite para o Dev in Rio!

As inscrições para o Dev in Rio estão acabando e é melhor você correr para garantir logo a sua vaga. Caso você seja preguiçoso como eu sou, use esse script do Pyccuracy para automatizar a sua inscrição (e não esqueça de trocar essas informações “fake” pelos dados reais!):

Como um bom desenvolvedor
Eu quero me cadastrar no Dev in Rio
Para que eu possa aprender mais e ser um profissional melhor
 
Cenário 1 - Cadastro no Dev in Rio
Dado que
    Eu navego para "http://devinrio.com.br/inscricoes_bra.php"
Quando
    Eu marco a radio "tipo_participacao"
    E eu clico no elemento "tipo_participacao"
    # ... tem que esperar a página ser carregada :)
    E eu espero por 5 segundos
    E eu vejo que a página atual contém "Login - Novo cadastro"
Então
    # Login
    Eu preencho a caixa de texto "email" com "seu@email.com"
    E eu preencho a caixa de texto "senha" com "senha"
    E eu preencho a caixa de texto "re_senha" com "senha"
    # Dados Pessoais
    E eu preencho a caixa de texto "nome_cracha" com "Pyccuracy da Silva"
    E eu preencho a caixa de texto "empresa_cracha" com "Globo.com"
    E eu preencho a caixa de texto "dd" com "01"
    E eu preencho a caixa de texto "mm" com "01"
    E eu preencho a caixa de texto "aaaa" com "1980"
    E eu preencho a caixa de texto "cpf" com "12345678910"
    E eu preencho a caixa de texto "ddd" com "21"
    E eu preencho a caixa de texto "telefone" com "23452345"
    E eu preencho a caixa de texto "ddd2" com "21"
    E eu preencho a caixa de texto "telefone_celular" com "23452345"
    # Endereço
    E eu preencho a caixa de texto "cep" com "23456789"
    E eu preencho a caixa de texto "endereco" com "Rua de Exemplo"
    E eu preencho a caixa de texto "numero" com "123"
    E eu preencho a caixa de texto "complemento" com "ap 101"
    E eu preencho a caixa de texto "bairro" com "Meu Bairro"
    E eu seleciono o item com texto "Rio de Janeiro" na select "estado"
    # ... tem que esperar o treco carregar os municipios :)
    E eu espero por 5 segundos
    E eu seleciono o item com texto "RIO DE JANEIRO" na select "municipio"
    # Seu perfil - pode colocar qualquer coisa :)
    E eu seleciono o item com valor "Outros" na select "ocupacao"
    E eu seleciono o item com valor "Superior completo" na select "escolaridade"
    E eu seleciono o item com valor "Amigos" na select "conhecimento"
    E eu seleciono o item com valor "Outra" na select "areas_atuacao"
    E eu clico no botão "sis_submitbutton2"
    E eu vejo que a página atual contém "sucesso"
    # E pra terminar, espera um pouquinho pra ver que a inscrição funcionou
    E eu espero por 10 segundos

Depois disso é só rodar com o comando “pyccuracy_console -l pt-br” e pronto, você já está cadastrado! Basta agora acessar o site para efetuar o pagamento com o seu cartão de crédito! 🙂

E agora, a promoção surpresa!

Ganha uma inscrição como convidado para o Dev in Rio e um kit de brinde da Globo.com (com camiseta, pen drive de 4GB e etc.) o primeiro programador que terminar o que falta do script, ou seja, fazer o pagamento completo por cartão de crédito ou boleto bancário, tanto faz (e antes que algum engraçadinho tente, não vale ninguém que já trabalha com o Pyccuracy aqui na Globo.com, hehe).

Só estará participando da promoção quem enviar os scripts aqui pelos comentários e eu vou seguir a ordem de postagem. O primeiro script que funcionar leva o prêmio!

Divirtam-se! 🙂

13 replies on “Ajude a facilitar a vida dos preguiçosos e ganhe um convite para o Dev in Rio!”

Bem que o formulário de inscrição podia usar labels para o campos, ai o seu steps ficariam mais bonitinhos.

Como ninguém se manifestou, vou facilitar a regra. 🙂

Para ganhar um convite para o Dev in Rio agora vale fazer o script em Cucumber, Ruby puro, Python puro, bash, Brainfuck ou qualquer outra coisa, desde que faça o cadastro automático.

Para ganhar o bônus especial (kit da Globo.com), tem que fazer o script até a parte de pagamento, tanto faz se for por boleto ou cartão, vc escolhe.

Tá aqui escondido nos comentários, vamos ver se alguém vai reparar. Quem ler pode se dar bem 🙂

Tava pensando em fazer em bash… mas fiquei com preguiça…

Agora, pq a pagina de cadastro esta em UTF-8 e o javascript_inscricoes.js vem em ISO-8859-1 ? O alert de mensagem de erro vem com os caracteres esquisitos (pelo menos no firefox).

Muito legal a idéia!

Só tenho uma pergunta: seguindo a notação de BDD (Given/When/Then), o script nao deveria ser algo como:

Dado que
[estou no site]
Quando
[preencho com minhas informacoes]
Entao
[cadastro efetuado com sucesso e posso efetuar o pagamento]

? Neste caso o cadastro em si estaria no segundo passo, e o resultado (onde esta descrito o beneficio atingido) no final. Sei que não é algo importante, mas é que fiquei curioso.

De qualquer modo, parabéns pela criatividade!

Abraco!

Bom, nao segui a risca como o Ivan Sanchez apontou.
Agora da uma avaliada

[pre]
Como um bom desenvolvedor
Eu quero me cadastrar no Dev in Rio
Para que eu possa aprender mais e ser um profissional melhor

Cenário 1 – Cadastro no Dev in Rio
Dado que
Eu navego para “http://devinrio.com.br/inscricoes_bra.php”
Quando
Eu marco a radio “tipo_participacao”
E eu clico no elemento “tipo_participacao”
# … tem que esperar a página ser carregada 🙂
E eu espero por 5 segundos
E eu vejo que a página atual contém “Login – Novo cadastro”
Então
# Login
Eu preencho a caixa de texto “email” com “seu@email.com”
E eu preencho a caixa de texto “senha” com “senha”
E eu preencho a caixa de texto “re_senha” com “senha”
# Dados Pessoais
E eu preencho a caixa de texto “nome_cracha” com “Fake User”
E eu preencho a caixa de texto “empresa_cracha” com “Company”
E eu preencho a caixa de texto “dd” com “01”
E eu preencho a caixa de texto “mm” com “01”
E eu preencho a caixa de texto “aaaa” com “1980”
E eu preencho a caixa de texto “cpf” com “12345678910”
E eu preencho a caixa de texto “ddd” com “21”
E eu preencho a caixa de texto “telefone” com “23452345”
E eu preencho a caixa de texto “ddd2” com “21”
E eu preencho a caixa de texto “telefone_celular” com “23452345”
# Endereço
E eu preencho a caixa de texto “cep” com “23456789”
E eu preencho a caixa de texto “endereco” com “Rua de Exemplo”
E eu preencho a caixa de texto “numero” com “123”
E eu preencho a caixa de texto “complemento” com “ap 101”
E eu preencho a caixa de texto “bairro” com “Meu Bairro”
E eu seleciono o item com texto “Rio de Janeiro” na select “estado”
# … tem que esperar o treco carregar os municipios 🙂
E eu espero por 5 segundos
E eu seleciono o item com texto “RIO DE JANEIRO” na select “municipio”
# Seu perfil – pode colocar qualquer coisa 🙂
E eu seleciono o item com valor “Outros” na select “ocupacao”
E eu seleciono o item com valor “Superior completo” na select “escolaridade”
E eu seleciono o item com valor “Amigos” na select “conhecimento”
E eu seleciono o item com valor “Outra” na select “areas_atuacao”
E eu clico no botão “sis_submitbutton2”
# E pra terminar, espera um pouquinho pra ver que a inscrição funcionou
E eu espero por 5 segundos
E eu clico na imagem “submit”
E eu espero por 5 segundos

E eu vejo que a página atual contém “pagamento”
E eu clico na imagem “submit”
E eu espero por 5 segundos
E eu navego para “https://pagseguro.uol.com.br/security/webpagamentos/WebTipoPagto.aspx”
E eu clico na imagem “utpTipoPagamento_imgBoleto”
E eu espero por 5 segundos
E eu vejo que a página atual contém “Valor Total”
E eu clico no botão “ucPagtoBPagCarrinho1_btnPagar”
E eu espero por 20 segundos
[/pre]

Muito bacana este Pyccuracy. Se me permitir um palpite, faça um post no blog falando de sua experiência com ele. Fale mais sobre sua experiência com ele? Sou mais acostumado com o Selenium, fora os tradicionais pyunit e doctest, e este parece bem interessante.

É fácil manter os scripts? Eles funcionam consistentemente, ou se a máquina estiver sobrecarregada ele dá pau? Eles são fáceis de manter quando o sistema é alterado? Os especialistas do domínio conseguem entendê-los? Vou ver se acho uma chance de brincar com ele também.

Leave a Reply

Your email address will not be published. Required fields are marked *