Skip to content

Instantly share code, notes, and snippets.

@egermano
Last active May 9, 2024 16:28
Show Gist options
  • Save egermano/1cd557222e339a314be9aa823ef7f073 to your computer and use it in GitHub Desktop.
Save egermano/1cd557222e339a314be9aa823ef7f073 to your computer and use it in GitHub Desktop.
Gerador de CPF para Postman

Gerador de CPF

Criei esse script para gerar CPF randômicos para test de API no Postman.

Adicione esse script na aba Pre-request Script e adicione a variável {{cpf}}na sua request.

Sempre que você chamar o Postman vai chamar o seu script antes de enviar a request gerando um novo CPF em toda request.

function cpf() {
const rnd = (n) => Math.round(Math.random() * n);
const mod = (base, div) => Math.round(base - Math.floor(base / div) * div)
const n = Array(9).fill('').map(() => rnd(9));
let d1 = n.reduce((total, number, index) => (total + (number * (10 - index))), 0)
d1 = 11 - mod(d1, 11);
if (d1 >= 10) d1 = 0;
let d2 = (d1 * 2) + n.reduce((total, number, index) => (total + (number * (11 - index))), 0)
d2 = 11 - mod(d2, 11);
if (d2 >= 10) d2 = 0;
return `${n.join('')}${d1}${d2}`
}
// opicional para postman
pm.environment.set('cpf', cpf());
@LParente
Copy link

Obrigado!

@egermano
Copy link
Author

egermano commented Apr 17, 2023

Tenho uma duvida, no meu script, eu possuo cadastro de 10 usuários, quando rodei o postman, nos 10 usuários ficaram com o mesmo CPF. É possível que o script crie 1 CPF diferente para cada usuário? E como se faz isso?

Você pode salvar um array de cpf ao inves de apenas um nessa variavel de ambiente...

por exemplo:

pm.environment.set('cpf', Array(10).fill('').map(()=>cpf()));

@kathleenmiranda
Copy link

Excelente conteúdo, Obrigada 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment