Pergunta

Aqui está a minha situação:

Eu quero fazer isso:

Eu tenho uma lista de URLs em um banco de dados MySQL que eu quero bater usando uma Solicitação HTTP para ver se a resposta é um código de Status HTTP 404 ou não.

Eu tenho feito isso:

  1. Adicionada e configurada uma JDBC Config Elemento.
  2. Adicionada e configurada uma JDBC Pedido de Sampler.Basicamente uma instrução select que retorna uma tabela com 8 colunas.Eu tenho desde 8 de variáveis separados por vírgulas, para a " Variável nomes de campo, de modo a que os resultados do JDBC pedido pode ser identificado com esses nomes de variáveis.
  3. Criou uma Solicitação HTTP Sampler que usa uma dessas variáveis ${url} no 'Nome do Servidor ou o IP' campo.

Embora o JDBC solicitação funciona perfeitamente e retorna uma tabela com um monte de linhas, o problema com isso é que a Solicitação HTTP Sampler nunca pega a variável do JDBC Pedido de resultado.A Solicitação HTTP parecido com este no 'Ver Resultados Árvore":

GET http://${url}/

Eu tentei estas soluções:

  1. Adicionar 'Salvar Respostas para um Arquivo' ouvinte para o JDBC Pedido.Isso cria um arquivo do tipo '.simples' e não de um arquivo CSV.Se tivesse sido um CSV, eu poderia ter utilizado esse arquivo CSV através da criação de um arquivo CSV Conjunto de Dados de Configuração.Assim, esta tentativa falhou.
  2. Eu tentei forçar o nome de arquivo na caixa acima tentativa de usar sempre 'C:\JMETERTest\data.csv'.Mas ele acaba criando um novo arquivo chamado 'C:\JMETERTest\data.csv1.plain'.Esta tentativa também falhou.
  3. Eu tentei fazer referência a coluna URL, como ${url_1} na Solicitação HTTP do Servidor de Nome de campo.Ele trabalhou.Mas o problema agora é que os resultados árvore, todos os pedidos estão indo para o URL a partir de apenas a primeira linha do conjunto de resultados.Eu vejo que isso é por causa do número da linha '_1' especificado em ${url_1} acima.Eu posso usar este se alguém pode sugerir um caminho para parametrizar o " _1 " para uma variável que eu pode percorrer (provavelmente usando um Contador elemento).Eu criei um Contador Config Elemento de Referência, Nome do 'loopCounter'.E usado isso no campo Nome do Servidor de HTTP do Pedido:

    ${url_("${loopCounter}")}

Mas agora o meu Solicitações HTTP olhar lamer:

GET http://${url_("${loopCounter}")}/

Isso não funcionou muito.

Solução 3 parece mais factível de ser só se eu poderia resolver a parametrização do número de linha.Eu estou aberto para o JMeter Plugin sugestões também.Vou atualizar qualquer coisa a mais que eu tente medida que avançamos.

P. S.Por favor, deixe-me saber se a minha pergunta não está clara, de qualquer forma.

Foi útil?

Solução

Você já tentou envolver o sampler HTTP em um controlador foreach (pai) onde a variável para o controlador é a variável de URL obtida no sampler JDBC?

Além disso, a variável de saída na foreach será a variável que você usa agora no sampler HTTP.

dessa forma iterará através de cada variável desde o início do índice até o final e executar o amostrador uma vez a cada vez.

Outras dicas

Em 'Salvar respostas para um arquivo' listener, selecione Caixas de seleção "Não adicione sufixo e prefixo".Verificar essas duas opções garantirá, você obter o nome do arquivo de log exato.

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