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());
@egermano
Copy link
Author

@raul-xag Cara não faz o menor sentido criar uma variavel com o nome de 11 digitos. A validação tem que ser com o valor da variavel e não com o nome da variavel. Existe algum erro na validação e vc ocntornou isso ao inves de solucionar.

@jeanhora
Copy link

Obrigado pela contribuicao

@alisonlouro
Copy link

Muito boa a função, ajudou demais.

Saberiam dizer se tem algo semelhante para cnpj? Tentei adaptar essa, mas sem sucesso até o momento.

@joaovic
Copy link

joaovic commented Jul 29, 2021

Excelente Bruno!!!

@Mauricio-CWS
Copy link

Boa tarde Srs.,
Saberiam dizer se tem algo semelhante para cnpj?

@leolpc21
Copy link

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?

@jeanhora
Copy link

jeanhora commented Feb 14, 2022 via email

@jonathaspe
Copy link

Obrigado!

@alanhgoes
Copy link

Cacete, salvou demais @egermano

@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