Testes JMeter e não estático GET / POST Parameters
Pergunta
Qual é a melhor estratégia para usar quando escrever testes JMeters contra uma aplicação web onde os valores de determinada consulta de-corda e variáveis ??pós vão mudar para cada execução.
rápida, comum, exemplo
- Você vai para uma página da Web
- Digite algumas informações em um formulário
- Clique em Salvar
- Nos bastidores, um novo registro é inserido no banco de dados
- Você deseja editar o registro que você acabou de entrar, para que ir para outra página web. Nos bastidores está passando a página de um parâmetro com o ID de banco de dados da linha que você acabou de criar
Quando você está correndo etapa 5 do teste acima, o parâmetro da página / ID de banco de dados vai mudar cada vez.
O fluxo de trabalho / estratégia que eu estou usando atualmente é
- Gravar um teste usando as ações acima
- Criar uma nota de cada lugar onde uma variável string de consulta pode mudar de prazo para executar
- Use um XPath ou Expressão regular Extractor para puxar o valor fora de uma resposta e em uma variável JMeter
- Substitua todas as instâncias apropriadas do parâmetro codificado com a variável acima.
Isso funciona e pode ser automatizado para uma extensão. No entanto, pode ser entediante, é propenso a erros, e frágil. Existe uma maneira melhor / comumente aceita de lidar com esta situação? (Ou isso é por isso que a maioria das pessoas só usar JMeter para reproduzir os logs (-;?)
Solução
Parece-me que o seu no caminho certo. O melhor que pode ser alcançado por JMeter é extrair variáveis ??de página com uma expressão ou pós xpath processador regular. No entanto o seu em absolutamente correto que esta não é uma solução escalável e se torna cada vez mais difícil de manter ou crescer.
Se você chegou é o ponto, então você pode querer considerar uma ferramenta que é mais especializado para esse tipo de problema. Tenha uma ferramenta de teste de web olhar como Watir, ele vai tratar automaticamente alterar os parâmetros de correios; mas você ainda precisa parâmetros extrato, se você precisa fazer uma atualização de banco de dados, mas usando Watir permite uma melhor reutilização de código tornando o problema menos doloroso.
Outras dicas
Temos tido grande sucesso em testar cenários semelhantes com JMeter armazenando parâmetros nas variáveis ??JMeter dentro de uma afirmação JDBC. Em seguida, fazer o nosso http get / post e usar um BSF afirmação e javascript fazer a validação complexo da resposta. Espero que ajude