Eae meu povo, tudo certo ?
Bom, vamos la…
To fazendo alguns testes de regressão utilizando Selenium RC e Java, via Eclipse.
Bom, o cenário:
Aplicação feita em jsf, trabalhando com seções.
Problema:
Várias builds são aplicadas, resultando na necessidade de realizar testes de regressão antes de colocar em Produção.
Solução sugerida:
Automatizar os cenários.
Blz… o que eu tenho ?
Automatizei diversos cenários, modularizei os testes, e agora eu tenho, diversos scripts para realizar as diversas ações comuns a todos os outros, como acessar aplicação, realizar login, logoff e etc…
tenho outra gama de scripts responsáveis pela execução dos cenários em si…
Vamos supor, 1 script pra cadastro de usuário, 1 para consulta de usuário, 1 para alteração e 1 para exclusão. Tendo também 1 script para inicializar o sistema, 1 para realizar login, 1 para acessar o menu e 1 para realizar logoff.
Total: 8 scripts.
Gostaria de criar uma suite de testes que executasse os scripts para cadastro, consulta, alteração e exclusão de usuário, pois os outros scripts (comum a todos) são chamados por cada script de funcionalidade…
criei uma suite de testes assim:
import junit.framework.Test;
import junit.framework.TestSuite;
public class TestSuiteManterUsuario {
public static Test suite() {
TestSuite suite = new TestSuite();
suite.addTestSuite(CadastrarUsuario.class);
suite.addTestSuite(ConsultarUsuario.class);
return suite;
}
public static void main(String[] args) {
junit.textui.TestRunner.run(suite());
}
}
Porém ao executar essa suite, ele executa o primeiro script com sucesso, porém ao tentar iniciar a execução do segundo script ele da o seguinte erro:
[color=red]Failed to start: SocketListener2@0.0.0.0:4444
Exception running 'open 'command on session null
java.lang.NullPointerException: sessionId should not be null; has this session been started yet?
[/color]
Sei que isso significa que o servidor do selenium está rodando e escutando na porta 4444, e ele tenta rodar novamente o servidor e da esse erro, porém, ao término de cada script, eu finalizo os testes e o servidor, com o seguinte comando:
SeleniumServer server = new SeleniumServer();
server.stop();
selenium.stop();
Então, eu estou finalizando o servidor antes de iniciar a execução do segundo script, mas aparentemente isso não ta funcionando pois o erro acontece.
Bom, acho que expliquei bastante e deu pra entender, alguém consegue me ajudar ?
Qualquer informação adcional que possa ajudar é só solicitar que eu posto.
Valeu !!!