Quando um cenário de teste de estresse exige lógica de ramificação — por exemplo, chamar diferentes APIs com base em um valor de resposta de uma solicitação anterior — use instruções de julgamento condicional para controlar quais APIs executar conforme o atendimento de condições específicas.
Como funciona a lógica condicional
O PTS oferece suporte a duas relações lógicas entre condições, definidas pela organização no editor de cenários:
|
Organização |
Relação lógica |
Comportamento |
|
Aninhada (uma condição dentro da outra) |
AND |
Todas as condições devem ser verdadeiras para que a API seja executada |
|
Paralela (condições no mesmo nível) |
OR |
A API é executada se qualquer condição for verdadeira |
Durante o teste de estresse, o PTS avalia as condições sequencialmente. Uma API só é executada após todas as condições de sua ramificação serem satisfeitas.
Tipos de valor compatíveis com condições
O objeto de julgamento e o valor de comparação em uma condição aceitam os seguintes tipos:
|
Tipo de valor |
Compatível |
Descrição |
|
String literal |
Sim |
Strings fixas como |
|
Parâmetros de resposta |
Sim |
Valores de saída extraídos de uma API anterior no cenário |
|
Parâmetros globais |
Sim |
Parâmetros definidos no nível do cenário |
|
Parâmetros personalizados |
Sim |
Variáveis definidas pelo usuário |
|
Parâmetros de arquivo |
Sim |
Valores carregados de arquivos de dados externos |
|
Funções do sistema |
Não |
Não podem ser usadas como objetos de julgamento ou valores de comparação |
|
Expressões mistas de parâmetro e string |
Não |
Concatenações de parâmetros e strings não são compatíveis |
Para corresponder a múltiplos valores ou padrões, utilize expressões regulares no valor de comparação.
Adicionar uma instrução de julgamento condicional
Faça logon no console do PTS, escolha Performance Test > Create Scenario e clique em PTS.
Configure os parâmetros de solicitação de um nó HTTP. Para mais informações, consulte Basic request parameters.
-
Configure os parâmetros de resposta da API inicial para permitir que condições subsequentes referenciem os valores de saída. Para mais informações, consulte API response parameters.
Por exemplo, adicione uma configuração de parâmetro de resposta: defina Output parameter name como
para, selecione Body : JSON para Source e defina Parse expression comopara. Na seção Business Session, clique na lista suspensa Add Instruction e selecione Conditional Judgment.
-
Expanda Start Conditional Judgment e configure o parâmetro Condition.
Por exemplo, defina Judgment conditions no console da seguinte maneira: insira
${para}como objeto de julgamento, selecione Greater than or equal como operador e insira10como valor de comparação.
As instruções de julgamento condicional devem ser usadas em pares (um bloco de início e um de fim). O objeto de julgamento deve referenciar um parâmetro, como um parâmetro de arquivo, um parâmetro de resposta de uma API anterior ou um parâmetro personalizado.
Exemplos
Condição AND: ambas as condições devem ser verdadeiras
Objetivo: Executar uma API somente quando para estiver entre 10 e 100 (inclusivo).
Lógica: para >= 10 AND para <= 100
Configuração: Aninhe a segunda condição (para <= 100) dentro da primeira (para >= 10). O aninhamento cria uma relação AND: ambas as condições devem ser verdadeiras para que a API seja executada.
Condição OR: qualquer condição é suficiente
Objetivo: Executar uma API quando para estiver fora do intervalo de 10 a 100.
Lógica: para < 10 OR para > 100
Configuração: Coloque ambas as condições no mesmo nível (paralelas) e adicione a mesma chamada de API sob cada ramificação. A organização paralela cria uma relação OR: a API é executada se qualquer condição for verdadeira.
O Julgamento Condicional ① é $(para)>=10 e contém API-1 (método GET); o Julgamento Condicional ② é $(para)<=100 e contém API-2 (método GET). Os dois julgamentos condicionais estão no mesmo nível, seguidos por uma API-3 incondicional (método GET). Todas as três APIs usam o endereço de solicitação http://www.example.com/.
Condição combinada AND/OR
Objetivo: Executar uma API quando para3 for igual a 100 E também quando para4 > 100 ou para4 < 10.
Lógica: para3 = 100 AND (para4 > 100 OR para4 < 10)
Configuração: Posicione as duas condições OR (para4 > 100 e para4 < 10) no mesmo nível e aninhe ambas dentro da condição AND (para3 = 100). A condição externa deve ser verdadeira e pelo menos uma das condições internas também precisa ser atendida.