Génération de données de test par API : création massique d'utilisateurs

Introduction Dans les phases de développement et de tests, il est souvent nécessaire de disposer de jeux de données utilisateur fictives. L'API Random User permet de générer rapidement des profils d'utilisateurs aléatoires, parfaitement adaptés à ces besoins.

Accès de base L'appel simple à l'endpoint retourne un seul profil utilisateur :


https://randomuser.me/api/

Ouvrir cette URL dans un navigateur affiche une réponse JSON contenant un utilisateur complet.

Obtenir plusieurs utilisateurs Pour récupérer plusieurs entrées, utilisez le paramètre results :


https://randomuser.me/api/?results=10

Cela renvoie 10 profils distincts.

Filtrer par pays Les données peuvent être limitées à des nationalités spécifiques via le paramètre nat. Les codes valides incluent : US, GB, FR, DE, CA, DK, IE, NL, TR, AU, NZ, ES, FI, CH, IR, NO.

Exemple pour obtenir des utilisateurs américains :


https://randomuser.me/api/?results=5&nat=us

Pour plusieusr pays :


https://randomuser.me/api/?results=5&nat=us,fr,gb

Filtrer par sexe Le paramètre gender permet de restreindre les résultats aux femmes ou aux hommes :


https://randomuser.me/api/?results=5&gender=female

Génération de mots de passe personnalisés L'option password permet de définir des critères de génération de mot de passe. Les types disponibles sont :

  • special : caractères spéciaux (!"#$%&'()*+,-./:;<=>?@[]^_`{|}~)
  • upper : majuscules (A-Z)
  • lower : minuscules (a-z)
  • number : chiffres (0-9)

Exemples :

  • Mot de passe avec 32 caractères spéciaux :
https://randomuser.me/api/?password=special,32

  1. Mot de passe entre 1 et 8 lettres majuscules :
https://randomuser.me/api/?password=upper,1-8

  1. Combinaiosn de tous les types, longueur par défaut (8-64) :
https://randomuser.me/api/?password=special,upper,lower,number

Format de sortie personnalisé La réponse peut être retournée dans différents formats via le paramètre format :

  • json (par défaut)
  • pretty ou PrettyJSON
  • csv
  • yaml
  • xml

Exemple en CSV (téléchargement automatique) :


https://randomuser.me/api/?results=5&format=csv

Sélectionner ou exclure des champs Utilisez inc pour préciser les champs à inclure :


https://randomuser.me/api/?results=5&inc=gender,name,nat

Utilisez exc pour exclure certains champs :


https://randomuser.me/api/?results=5&exc=login,registered,id

Champs disponibles Les champs pouvant être sélectionnés incluent :

  • gender
  • name
  • location
  • email
  • login
  • registered
  • dob
  • phone
  • cell
  • id
  • picture
  • nat

Exemple de réponse JSON

{
  "results": [
    {
      "location": {
        "street": {
          "number": 456,
          "name": "Godthåbsvej"
        },
        "city": "Nørre Sundby",
        "state": "Danmark",
        "country": "Denmark",
        "postcode": 68776,
        "coordinates": {
          "latitude": "-33.5221",
          "longitude": "-0.5537"
        },
        "timezone": {
          "offset": "-8:00",
          "description": "Pacific Time (US & Canada)"
        }
      },
      "email": "felix.rasmussen@example.com",
      "login": {
        "uuid": "4e20390a-37b5-4843-bd68-a2f3f2ae16e6",
        "username": "greenleopard674",
        "password": "sunny",
        "salt": "lDRwFsmm",
        "md5": "5ed23d9b6fbc6c3366bc5bd16ef7f5e9",
        "sha1": "c601894362db9ebb42782f87216eb3ae877d3633",
        "sha256": "69853305f1fa0707400ae3ad5e9177c9e589310ff65d3d31b1c3f8864d071dd2"
      },
      "dob": {
        "date": "1952-02-09T06:00:18.559Z",
        "age": 69
      },
      "registered": {
        "date": "2019-03-21T22:31:06.919Z",
        "age": 2
      },
      "phone": "91680394",
      "cell": "34790668",
      "id": {
        "name": "CPR",
        "value": "090252-5830"
      },
      "picture": {
        "large": "https://randomuser.me/api/portraits/men/22.jpg",
        "medium": "https://randomuser.me/api/portraits/med/men/22.jpg",
        "thumbnail": "https://randomuser.me/api/portraits/thumb/men/22.jpg"
      }
    }
  ],
  "info": {
    "seed": "ebd7f54854602f5e",
    "results": 5,
    "page": 1,
    "version": "1.3"
  }
}

Étiquettes: Random User API génération de données test unitaire API REST création de profils fictifs

Publié le 10 octobre à 13h30