AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / coding / Perguntas / 77228518
Accepted
Timo
Timo
Asked: 2023-10-04 17:49:38 +0800 CST2023-10-04 17:49:38 +0800 CST 2023-10-04 17:49:38 +0800 CST

Teste de carga: a reserva de voo em Web Tours não é armazenada usando script gravado no JMeter

  • 772

Estou praticando testes de carga e testando o JMeter. Como aplicativo de exemplo utilizo Web Tours. Gravei as etapas para fazer uma reserva de voo, fiz uma correlação para a sessão do usuário e adicionei algumas asserções de resposta para ter certeza de obter a resposta correta do servidor. Quando reproduzo o script, parece funcionar bem.

Mas quando entro no aplicativo e olho o Itinerário ele está vazio. Portanto, não há nenhuma reserva feita.

Ocorre um comportamento semelhante quando tento ativar o comportamento de erro na página de administração do Web Tours (por exemplo, definir a probabilidade do servidor simular um problema de carga para 100%). Quando testo o aplicativo manualmente recebo os erros esperados (http 503). Quando reproduzo o script, todas as etapas terminam com http 200. Outro script que gravei que adiciona um usuário ao aplicativo funciona bem. O usuário é adicionado quando eu o reproduzo.

Você sabe o que estou fazendo de errado?

jmeter
  • 2 2 respostas
  • 13 Views

2 respostas

  • Voted
  1. Best Answer
    Dmitri T
    2023-10-04T18:14:41+08:002023-10-04T18:14:41+08:00

    Obter o código de status HTTP 200 não significa necessariamente que seu teste está fazendo o que deveria estar fazendo.

    Eu sugeriria adicionar outra camada de critérios de aprovação/reprovação usando JMeter Assertion , em particular Response Assertion para verificar se a resposta do servidor contém o valor antecipado e/ou não contém erros.

    Portanto, antes de mais nada, certifique-se de que você consegue criar uma reserva com sucesso e mais tarde encontrá-la usando seu navegador, porque se não conseguir, pode ser um comportamento esperado do sistema em teste ou um defeito funcional. Neste caso, não há nada que você possa fazer da perspectiva do JMeter.

    Se você puder criar a reserva usando um navegador real, compare as solicitações originadas do JMeter e do navegador real usando uma ferramenta sniffer como Fiddler ou Wireshark , as solicitações precisam ser exatamente as mesmas (exceto os parâmetros dinâmicos que precisam ser correlacionados). Depois de alterar a configuração do JMeter para enviar as mesmas solicitações que o navegador real, você deverá obter o mesmo comportamento.

    Além disso, parece que você gravou algumas imagens, isso não é algo que você deveria fazer, porque navegadores reais baixam imagens, scripts, estilos e assim por diante usando pool de threads simultâneos e, no seu caso, você os obtém sequencialmente e isso gera resultados totalmente diferentes pegada de rede. Em vez disso, você deve remover essas solicitações e configurar o JMeter para buscar recursos incorporados usando padrões de solicitação HTTP

    insira a descrição da imagem aqui

    • 0
  2. Timo
    2023-10-04T19:44:06+08:002023-10-04T19:44:06+08:00

    Correlacionei a sessão do usuário de maneira errada. Houve um erro de digitação no nome da variável. Parece que não percebi isso porque não limpei o cookie após cada iteração e usei um já existente. Depois de adicionar uma configuração do Gerenciador de cookies HTTP, onde limpo os cookies após cada iteração, meu script gravado apresentou um erro. Depois de corrigir o erro de digitação, o script funciona e uma reserva é feita. Obrigado pela ajuda.

    • 0

relate perguntas

  • Como baixar arquivo xlsx usando JMeter

  • Simulação de cache do navegador usando JMeter

  • Não consegui fazer login com meu e-mail e senha para conversar com o jmeter

  • JMeter: passando várias variáveis ​​na função toPrettyString ()

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    destaque o código em HTML usando <font color="#xxx">

    • 2 respostas
  • Marko Smith

    Por que a resolução de sobrecarga prefere std::nullptr_t a uma classe ao passar {}?

    • 1 respostas
  • Marko Smith

    Você pode usar uma lista de inicialização com chaves como argumento de modelo (padrão)?

    • 2 respostas
  • Marko Smith

    Por que as compreensões de lista criam uma função internamente?

    • 1 respostas
  • Marko Smith

    Estou tentando fazer o jogo pacman usando apenas o módulo Turtle Random e Math

    • 1 respostas
  • Marko Smith

    java.lang.NoSuchMethodError: 'void org.openqa.selenium.remote.http.ClientConfig.<init>(java.net.URI, java.time.Duration, java.time.Duratio

    • 3 respostas
  • Marko Smith

    Por que 'char -> int' é promoção, mas 'char -> short' é conversão (mas não promoção)?

    • 4 respostas
  • Marko Smith

    Por que o construtor de uma variável global não é chamado em uma biblioteca?

    • 1 respostas
  • Marko Smith

    Comportamento inconsistente de std::common_reference_with em tuplas. Qual é correto?

    • 1 respostas
  • Marko Smith

    Somente operações bit a bit para std::byte em C++ 17?

    • 1 respostas
  • Martin Hope
    fbrereto Por que a resolução de sobrecarga prefere std::nullptr_t a uma classe ao passar {}? 2023-12-21 00:31:04 +0800 CST
  • Martin Hope
    比尔盖子 Você pode usar uma lista de inicialização com chaves como argumento de modelo (padrão)? 2023-12-17 10:02:06 +0800 CST
  • Martin Hope
    Amir reza Riahi Por que as compreensões de lista criam uma função internamente? 2023-11-16 20:53:19 +0800 CST
  • Martin Hope
    Michael A formato fmt %H:%M:%S sem decimais 2023-11-11 01:13:05 +0800 CST
  • Martin Hope
    God I Hate Python std::views::filter do C++20 não filtrando a visualização corretamente 2023-08-27 18:40:35 +0800 CST
  • Martin Hope
    LiDa Cute Por que 'char -> int' é promoção, mas 'char -> short' é conversão (mas não promoção)? 2023-08-24 20:46:59 +0800 CST
  • Martin Hope
    jabaa Por que o construtor de uma variável global não é chamado em uma biblioteca? 2023-08-18 07:15:20 +0800 CST
  • Martin Hope
    Panagiotis Syskakis Comportamento inconsistente de std::common_reference_with em tuplas. Qual é correto? 2023-08-17 21:24:06 +0800 CST
  • Martin Hope
    Alex Guteniev Por que os compiladores perdem a vetorização aqui? 2023-08-17 18:58:07 +0800 CST
  • Martin Hope
    wimalopaan Somente operações bit a bit para std::byte em C++ 17? 2023-08-17 17:13:58 +0800 CST

Hot tag

python javascript c++ c# java typescript sql reactjs html

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve