As configurações de API HTTP incluem detalhes básicos da requisição, cabeçalhos, corpo da requisição, parâmetros de resposta e pontos de verificação (asserções). Use essas definições em cenários de teste baseados em HTTP, principalmente para extrair conteúdo das respostas por meio de parâmetros ou validar se o comportamento está alinhado às expectativas de negócio usando pontos de verificação.
Limites
Versões do HTTP
O Performance Testing Service (PTS) oferece suporte aos protocolos HTTP/1.1 e HTTP/2. Ao depurar ou iniciar um teste de estresse, o mecanismo do PTS negocia automaticamente a versão do protocolo com o servidor. Se o servidor for compatível com HTTP/2, o PTS usará essa versão por padrão; caso contrário, retornará para HTTP/1.1. Não é necessário especificar a versão do protocolo HTTP ao configurar o cenário.
Cabeçalhos de requisição HTTP
No uso do HTTP/2, alguns cabeçalhos de requisição podem ser inválidos conforme o padrão RFC do HTTP/2. Se a mensagem ProtocolException:*** is illegal for HTTP/2 messages aparecer após a depuração de uma API, exclua o cabeçalho correspondente a *** da configuração de cabeçalhos da requisição.
Os seguintes cabeçalhos de requisição HTTP/2 são inválidos (sem distinção entre maiúsculas e minúsculas):
Connection
Keep-Alive
Proxy-Connection
Transfer-Encoding
Host
Upgrade
Tempo limite da requisição
O tempo limite da requisição é acionado quando uma das durações abaixo ultrapassa o limiar configurado:
Tempo decorrido entre o envio da requisição e o recebimento do primeiro pacote de resposta
-
Intervalo entre dois pacotes de resposta consecutivos
O parâmetro socketTimeOut define o intervalo máximo de ociosidade entre dois pacotes consecutivos na comunicação entre cliente e servidor, e não o tempo total de comunicação. Por exemplo, se você definir o tempo limite como 10 segundos e houver transmissão de dados a cada 8 segundos durante 10 transmissões, o tempo total será de 80 segundos sem que ocorra timeout. No entanto, se a transmissão ocorrer a cada 12 segundos, o tempo limite será atingido, pois o intervalo entre pacotes consecutivos excede 10 segundos.
Se o período de tempo limite da requisição for definido tanto na seção Basic Request Information quanto na seção Advanced Settings de uma API HTTP, a configuração no nível da API HTTP terá precedência sobre a seção Advanced Settings.
Para mais detalhes sobre como definir o tempo limite da requisição na seção Basic Request Information, consulte Informações básicas da requisição.
Informações básicas da requisição
A página de configuração de API HTTP apresenta informações básicas, incluindo o nome da API, a URL do teste de estresse e o método de requisição. Para saber mais, consulte Informações básicas da requisição.
Especifique informações personalizadas da requisição
-
Defina cabeçalhos de requisição personalizados para os testes de estresse.
-
Configure um corpo de requisição quando apenas os cabeçalhos personalizados não atenderem aos requisitos do teste de estresse.
-
Extraia conteúdo das respostas para validar se as requisições foram bem-sucedidas sob a ótica de negócio.
-
Pontos de verificação (asserções)
Valide se as respostas atendem às expectativas de negócio.
Configurações avançadas
-
Associe um nome de domínio a um endereço IP específico para direcionar o tráfego do teste de estresse diretamente ao serviço alvo.
-
Ative o SSL Status Loop Resetting e selecione um protocolo SSL para executar testes de estresse no PTS.