Manipulação de caixas SWT diálogo durante a execução de testes no modo sem cabeça usando SWTBOT

StackOverflow https://stackoverflow.com/questions/1907646

Pergunta

Estou executando um caso de teste JUnit no meu aplicativo eclipse que foi construído usando SWT. Estou fazendo testes de GUI usando SWTBot. Então, aqui está o meu problema:

editor.bot().button("Make Excel Template").click();

Este código me ajuda a gerar um modelo em meu aplicativo. Uma vez feito isso, ele lança-se um diálogo modal com "OK" como uma mensagem. No entanto, eu não consigo SWTBot para encontrar este widget Caixa de botão / / diálogo. Recebo um 'WidgetNotFoundException'.

Alguém se deparar com isso? conteúdo oficial no site do SWTBot diz que caixas de diálogo deve ser executado em tópicos não-UI separados. Os exemplos fornecidos no entanto, não são muito informativo.

Agradecemos a sua ajuda!

Foi útil?

Solução 2

@carstenlez - sua solução funciona bem para caixas JFace diálogo. Meu aplicativo, no entanto, está fazendo uso de um MessageBox - que é um diálogo nativa. SWTBot não suporta diálogos nativos, por isso estou praticamente sem opções.

Outras dicas

Primeiro, você deve executar os testes em um não-UI-Thread (se já não fazê-lo). Em segundo lugar, você pode usar uma condição que esperar para o seu diálogo modal a aparecer depois de executar a ação que trará o diálogo se:

bot.waitUntil(Conditions.shellIsActive("This is the title of the modal dialog "));
bot.button("OK").click();

Este resolvido nossos problemas de tempo.

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