URL: https://linuxfr.org/news/testeur-de-requetes-http-hurl-6-0-0 Title: Testeur de requêtes HTTP Hurl 6.0.0 Authors: Benoît Sibaud Date: 2024-12-07T19:09:51+01:00 License: CC By-SA Tags: hurl, test et http Score: 4 Hurl est un outil libre (APLv2) pour exécuter et tester des requêtes HTTP, en ligne de commande, à partir de fichiers textes. Il permet de _chaîner des requêtes, capturer des valeurs et évaluer des conditions sur les en-têtes et le corps des réponses_. Et on peut l’utiliser pour _récupérer des données et tester des sessions HTTP : contenu HTML, API REST/SOAP/GraphQL, API à base de XML ou JSON_. Et la version 6.0.0 est parue le 4 décembre 2024. Hurl a déjà été mentionné sur LinuxFr.org, notamment parce qu’il est utilisé pour les tests de certains services du site, à savoir actuellement [img, le cache d’images](https://linuxfr.org/news/img-le-cache-d-images-sur-linuxfr-org) et [epub, le convertisseur EPUB3 à la volée](https://linuxfr.org/news/epub-le-convertisseur-epub3-a-la-volee-de-linuxfr-org) (chacun avec sa suite de tests pour valider le bon fonctionnement des services en IPv4 et en IPv6, en HTTP 1.1 et en HTTP 2.0). [jcamiel](https://linuxfr.org/users/jcamiel), un des mainteneurs de Hurl, [est d’ailleurs intervenu](https://linuxfr.org/news/epub-le-convertisseur-epub3-a-la-volee-de-linuxfr-org#comment-1974494) sur une des dépêches précédentes, venu discuter des évolutions et idées d’améliorations qui permettraient de simplifier l’écriture de telles suites de tests. Les nouveautés de la version 6.0.0 sont décrites dans la seconde partie de la dépêche. ---- [hurl.dev](https://hurl.dev) [Dépôt GitHub Orange-OpenSource/hurl](https://github.com/Orange-OpenSource/hurl) ---- Nouveautés de la version 6.0.0 : - fonctions pour générer des valeurs dynamiquement : il était possible de donner en argument de la ligne de commande une valeur à une variable utilisée dans un fichier `.hurl`. Maintenant une fonction pour générer dynamiquement une valeur : les deux fonctions fournies avec cette version sont `newDate` pour avoir la date courante UTC au format [RFC 3339](https://www.rfc-editor.org/rfc/rfc3339) et `newUUID` pour produire un identifiant unique universel [UUIDv4](https://fr.wikipedia.org/wiki/Universally_unique_identifier) aléatoire. D’autres fonctions seront bien évidemment ajoutées par la suite. - export de l’exécution en commandes curl : l’option `--curl` permet de stocker dans un fichier une liste de commandes `curl` correspondant à l’exécution (de manière plus facile qu’en utilisant `--verbose` et en cherchant ce qui ressemble à du `curl` dedans). Les commandes `curl` peuvent aussi être obtenues dans les rapports JSON et HTML désormais. - noms de sections plus courts : `[Query]` peut être utilisé à la place de `[QueryStringParams]`, `[Form]` à la place de `[FormParams]` et `[Multipart]` à la place de `[MultipartFormData]` - prise en charge de deux options de `curl` supplémentaires (`--limit-rate` et `--connect-timeout`, et leur équivalent `limit-rate` et `connect-timeout` dans la section `[Options]`) - refonte de `hurl --help` - corrections de bugs - encore d’autres choses et pour avoir plus de détails consultez la [note de publication](https://github.com/Orange-OpenSource/hurl/releases/tag/6.0.0) détaillée.