Quando você tem um array contendo vários elementos (uma lista de conteúdos específicos ou uma lista obtida de etapas anteriores) e precisa executar a mesma operação em cada item da lista (por exemplo, primeiro obter uma lista de produtos e, em seguida, adicionar cada produto da lista ao carrinho de compras), você precisa usar um loop ForEach.Em um loop ForEach, as operações dentro do loop serão executadas para cada elemento no array.A diferença em relação a um loop For é que você não precisa se preocupar com o número de iterações; você só precisa se concentrar no conteúdo do array do loop.Configuração do array do loop: Em um loop ForEach, você precisa definir um array como o objeto do loop. Você pode usar uma variável ou inserir manualmente um array, como [a,b,c].
Adição de requisições: Dentro de um loop ForEach, você pode adicionar uma ou mais requisições, ou adicionar outros loops ou ramificações condicionais etc.
Condição Break If e tratamento On Error: Você pode adicionar Break If e On Error ao loop ForEach, de forma consistente com o loop for mencionado acima.
Na configuração avançada do loop ForEach, você também pode personalizar as opções de tratamento de exceções para Break If e On Error. Para obter mais informações, consulte Regras de julgamento.
Exemplo de uso do ForEach#
Considere dois endpoints: um para recuperar uma lista de informações de pets e outro para buscar os detalhes de um único pet. Se você precisar buscar os detalhes de um pet adicionado recentemente à lista, poderá configurar esse cenário usando um loop ForEach em seus testes automatizados.1.
A primeira etapa fora do loop ForEach seria solicitar o endpoint da lista de informações de pets para recuperar os dados reais da lista. Normalmente, a resposta dessa interface contém um array com informações básicas sobre vários pets, como ID e nome do pet.
2.
Configure um loop ForEach com o array de origem sendo um subconjunto do array de pets da resposta da etapa anterior.
3.
Dentro do loop, configure uma requisição para o endpoint "Obter informações do pet" e use o valor do elemento do loop ForEach para preencher o parâmetro de ID nessa requisição.
Usar o elemento do loop em requisições#
O elemento/índice atual do loop pode ser usado como uma variável local dentro das requisições para ajustar dinamicamente parâmetros ou corpos de requisição. Para utilizar isso:1
Adicione um loop ForEach e inclua uma requisição dentro do loop.
2
Clique no ícone de
varinha mágica no parâmetro da requisição e selecione “Recuperar dados da etapa anterior”.
3
Escolha a opção de loop, geralmente rotulada como “Loop em cada elemento em
{{array}}”.
4
Selecione “Elemento atual do loop”. Você pode utilizar JSONPath para extrair propriedades do elemento.
5
Você obterá uma variável dinâmica como
{{$.17.element}}. Clique em "Inserir", e ela será substituída em tempo de execução pelo elemento atual do loop, que é um elemento do array do loop.
Elemento atual do loop: O sistema extrai automaticamente elementos do array especificado no loop ForEach e os armazena na variável designada. No início de cada iteração, essa variável é atualizada com o valor do elemento atual do array. Se o elemento for um objeto, você poderá usar JSONPath para extrair um subcampo específico, como {{$.1.element.data.name}}.Índice atual do loop: O índice do loop atual é armazenado nessa variável. Ele começa em 0 e é incrementado em 1 no início de cada iteração subsequente, refletindo o índice atual.