Pergunta

Eu tenho trabalhado em um componente Flex e eu gostaria de escrever alguns testes automatizados para ele. O problema é que as ferramentas de interface do usuário testar eu olhei ( FlexMonkey e selênio Flex API ) não simulam "suficiente":

A maioria dos erros que surgiram até agora referem-se à maneira Flex lida com arrastar e soltar, que essas bibliotecas não pode simular com precisão suficiente. Por exemplo, eu preciso testar um caso em que há um evento "drop", que ocorre na metade inferior de um componente - nem FlexMonkey nem Selênio Flex API pode fazer isso (eles podem simular um evento de mouse, mas não incluirá coordenadas).

Então, há alguma maneira "bom" para automatizar esse tipo de teste?

Editar : Depois de muita pesquisa, parece que a única peça de software que pode fazer isso é iMacros , que é somente para Windows ea interface é ... falta. Então, eu vou ser escrever meu próprio . Basicamente, ele vai colocar uma interface HTTP em java.awt.Robot assim código (em qualquer idioma) pode simular eventos de mouse / teclado. Se você estiver interessado, PM me e eu vou mantê-lo atualizado.

Editar 2 : Eu publiquei a primeira versão do quadro que eu escrevi, Blunderbuss, em cima da BitBucket: http://bitbucket.org/wolever/blunderbuss/ . Você vai precisar de Jython para executá-lo ( http://www.jython.org/ ), mas depois que o exemplo flex-client deve funcionar.

Vídeos de Blunderbuss ao vivo no Vimeo:

No momento esta continua a ser uma prova de conceito, como eu não tive os ciclos para limpá-lo e torná-lo mais utilizável ... Mas as pessoas talvez suficientes me incomodando iria me dar esse tempo:)

Foi útil?

Solução

Eu usei Berinjela para testar Flash e aplicativos AIR sem ter que adicionar qualquer ganchos no código . É uma ótima ferramenta, mas é muito caro. Ele simula um usuário real por VNC-ing em um reconhecimento de imagem do sistema e usos - entre outras coisas -. Para interagir com o aplicativo

Outras dicas

Estou definitivamente interessado em sua personalizado classe Java, e (embora eu não sou o melhor em Java (ainda ...)), eu estaria disposto a ajudar se você está pensando em fazer esta colaboração.

Como para Flash MouseEvents. Infelizmente, não há realmente uma maneira exata para simular a experiência arrastar / soltar in Flash. MouseEvents, quando gerado pelo rato, são tratados de uma maneira muito diferente do que eventos regulares e enquanto você poderia simular ações por passando eventos nas funções de manipulação, ou fazendo o fogo despachante um novo DragEvent (DragEvent.DRAG_DROP ..., ele não será o mesmo que ter o interagem usuário com ele. E para algumas funcionalidades (como acesso à prancheta), nada dentro do flash vai conseguir seus objetivos.

Para ser honesto, provavelmente você está indo na direção certa -. Usar algo que não está escrita no Flash para conduzir eventos de mouse falsificado é provavelmente a sua melhor aposta

Eu nunca tive que usá-lo no Flex, mas eu recentemente deparei com algumas informações sobre pacotes de automação no SDK Superfície MS ... depois de olhar para ele essas classes automatizados comportamento do usuário que podem ser usadas para testar isto é mover um falso mouse para este ponto, realizar esta ação. Como você está usando pacotes mx.automation Flex e classes . Meu palpite (e esperança) é que você seria capaz de conseguir o que deseja usar essas classes.

Você também pode tentar auto-atalho -., É, igualmente, um programa de edição de macro mas provou ser muito eficiente e você pode escrever scripts e configurá-lo muito facilmente

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top