Solucionado (ver solução)
Solucionado
(ver solução)
6
respostas

Dados de entrada não serem inseridos devido a rapidez do teste

Por causa do teste rodar muito rápido, pode acontecer de em algum momento algum dado de entrada não ser enviado para o componente na página?

6 respostas

Opa, Guilherme, tudo bem? Os dados até serão enviados mas você pode não vê-los devido a sua velocidade. Outra situação que pode acontecer é não estar na página com o formulário que irá receber os dados.

Espero ter respondido sua dúvida. Se não me explica um pouco melhor, ok?

Tudo sim. É que eu uso o Selenium Web Driver para automatizar um processo no meu trabalho. Onde é necessário pegar as informações de um excel e inserir no site. Para não ficar lendo linha por linha no excel, carrego as informações contidas nele em um datagridview. Pego as informações desse grid e insiro no site. Só que, para campos onde são inseridos datas, tenho que dar um Thread.Sleep() porque senão o valor correto não é inserido. O campo não recebe o valor. Obs: A página já está toda carregada, espero o carregamento através de um WebDriverWait, passando o Id do elemento e o tempo máximo de espera.

Guilherme, então a questão acontece apenas em campos onde são inseridos datas? Experimenta colocar valores que não sejam datas nesses campos pra ver se o problema está relacionado a esse tipo de dado.

Sim. Quando a data não é inserida corretamente uma janela é aberta informando o erro. Pode ser por causa de algum javascript que roda na página e eu não espero carregar?

solução!

Pode ser o javascript sim. Mas de qualquer maneira vc precisa estabelecer um tempo máximo de espera. Imagina o usuário esperando horas pra receber essa mensagem. A meu ver se o tempo máximo esperado for alcançado o significa que o teste falhou.

Esperarei o javascript carregar e colocarei um tempo máximo de espera. Muito obrigado pela explicação.