Original en anglais: https://argusic.com/subject/puppetry
puppetry
Solution de test web pour non-développeurs, basée sur Puppeteer et Jest.
Fonctionnesource : GitHubpage d'accueilJavaScriptMITcommit d0fdb94cd446
JavaScript, sous licence MIT. Le projet se décrit ainsi : browser automation, ci cd, continuous integration, e2e testing, frontend testing, headless testing, no code et puppeteer.
puppetry fonctionne. Un agent Argusic l'a installé en 5 minutes et a rencontré 2 erreurs, toutes corrigées sans aide sur une machine propre sans GPU, et toute la session a été enregistrée.
npm install, npm test (21 suites/261 tests all passing), npm run build, and Electron app launch on the virtual display all work; async test suite and unit tests verified with real jest runs.
Ce que l'agent a obtenu sur une machine propre, dans ses propres mots. Comment c'est mesuré
Mesuré par Argusic sur une machine vierge, à chaque fois. Chaque chiffre renvoie à ses preuves. Score Argusic de 100 sur 100 (la moyenne des scores des exécutions de ce projet).
En un coup d'œil
Données du projet issues de GitHub, avec un lien en haut de cette page, mis à jour le . Données de test d'Argusic (CC BY 4.0) ; chaque chiffre renvoie à une page d'exécution avec le log complet, l'enregistrement et leurs empreintes sha256.
Ce qui a été mesuré
Tiré de l'exécution qui a décidé ce verdict. Chaque ligne est une valeur enregistrée, pas une estimation.

Ce qui s'est mal passé, dans les mots de l'agent
Les propres mots de l'agent, le plus grave en premier, jamais réécrits en conseils.
- jest tests fail with Cannot find module 'node:stream' from cheerio 1.2.0 (ESM-only, node: protocol not supported by jest 24)8 minutes
- electron binary fails with SUID sandbox helper not configured correctly (no root in container)2 minutes
- Temps d'installation
- 5 minutes
- De la machine vierge à la fin
- 15 minutes
- Erreurs rencontrées et corrigées
- 2 rencontrées, 2 corrigées sans aide humaine
- Comment le résultat a été prouvé
- npm test exited 0, 21 test suites passed, 261 tests passed; npm run build exited 0 producing app/build/index.js (12.3 MiB); npx electron . --no-sandbox ran on DISPLAY=:99 and stayed alive until timeout SIGTERM
- Tokens de modèle utilisés
- 250 361
- Commit exact testé
- d0fdb94cd446
- Image de conteneur
- sha256:cdd920bce783
Ce qui n'a pas été mesuré
L'autre moitié, pour que vous voyiez exactement jusqu'où vont ces preuves. Une lacune est affichée comme une lacune et n'est jamais comblée.
- Pic de mémoire GPU
- cette exécution a eu lieu sur une machine CPU, il n'y avait donc pas de GPU à mesurer
- Comportement sur une longue durée
- chaque tentative utilise les réglages documentés les plus légers et un budget de temps fixe : on mesure donc s'il fonctionne, pas comment il tient sous la charge
Regarder la session
L'exécution complète, depuis une machine propre, à la vitesse réelle. Rien n'est coupé et rien n'est accéléré.
Un enregistrement de la tentative 1, exécutée le , la tentative qui a décidé le verdict ci-dessus. L'enregistrement du terminal dont elle est tirée constitue la preuve, conservée avec une empreinte sha256 ; la vidéo n'en est qu'un rendu. Rien n'est chargé depuis l'hébergeur de la vidéo tant que vous n'appuyez pas sur lecture.
La fin de l'enregistrement
Les dernières lignes de la session de terminal qui a décidé ce verdict, exactement telles qu'elles ont été enregistrées.
**What I did:** 1. `npm install` — succeeded (2316 packages added; only deprecation/vulnerability warnings, no erro… 2. Hit **one real error**: unit tests failed with `Cannot find module 'node:stream'` because Jest 2… 3. **Fix**: added an `overrides` field to `package.json` pinning `cheerio` to `1.0.0-rc.12` (CJS-co… 4. `npm test` passes: **21 suites, 261 tests, all passed** 5. `npm run build` — webpack production build succeeded (`index.js` 12.3 MiB, no errors) 6. Electron app launched on the Xvfb display (`:99`) and stayed up until killed by timeout — a desk… **Errors encountered:** - `npm test` failure: `Cannot find module 'node:stream'` / `ENOENT: stat 'stream'` from `cheerio` →… - `electron` binary initially failed with SUID sandbox error → worked with `--no-sandbox` flag (con… **Note:** I did not modify the repo's purpose or add any external keys — none were required. The re… **Final state:** `npm install` succeeds, `npm test` runs 21 suites/261 tests all passing, `npm run …
Revoir toute la session, chaque commande depuis une machine propre jusqu'à ce point.
Comment le test a été mené
Un agent, un conteneur, aucune aide humaine. Il installe le projet comme l'indique sa propre documentation, l'exécute et corrige ce qui casse. Tout ce qui suit est enregistré tel que cela s'est passé : la session de terminal, le log et le commit exact. La méthode complète.
Points forts et limites
Des faits mesurés, pas des opinions. Comment ce site est rédigé.
Ce qui s'est bien passé
- A atteint un état de fonctionnement sur une machine propre, avec la session enregistrée.
- Installé en 5 minutes, plus vite que la médiane des 11 projets comparables mesurés par Argusic.
- S'est remis des 2 erreurs sans intervention humaine, ce qui indique que les échecs sont assez bien documentés pour être résolus.
- A fonctionné sans GPU, il n'en a donc pas besoin pour démarrer.
- Sous licence MIT, selon son hébergeur.
Ce qui ne s'est pas bien passé, ou n'est pas connu
- Mesuré une seule fois jusqu'ici. Une seule tentative montre qu'il peut fonctionner, pas qu'il fonctionne de façon fiable.
Sur les 12 projets browser-automation qu'Argusic a installés et chronométrés, puppetry a été le 4e plus rapide à atteindre un état de fonctionnement, et 11 sur 12 en ont atteint un.
Pour quoi c'est un choix raisonnable
- L'essayer sur un ordinateur portable ou un petit serveur : il a atteint un état de fonctionnement sans GPU.
- Une évaluation rapide : il fonctionnait 5 minutes après le clone.
Également testés, dans le même domaine
Chacun de ces projets a été installé et exécuté par Argusic sur une machine propre. Rien n'apparaît ici sans avoir été testé.
Historique des exécutions
| testé par | tentative | résultat | score | coût USD | date |
|---|---|---|---|---|---|
| Argusic Runner | 1/3 | Fonctionne | 100,00 | 0,08 |
Sujets (depuis GitHub)
browser-automationci-cdcontinuous-integratione2e-testingfrontend-testingheadless-testingno-codepuppeteerqa-testingtest-automationui-testingvisual-regressionweb-testing
Intégrer le badge
Markdown pour le README du projet. Il renvoie vers cette page ; conditions sur la page des conditions.
[](https://argusic.com/subject/puppetry)Questions
- puppetry fonctionne-t-il ?
- Oui. puppetry fonctionne. Argusic l'a installé et lancé sur une machine propre en 5 minutes, en rencontrant 2 erreurs en route, et a enregistré la session.
- Comment Argusic a-t-il testé puppetry ?
- Sur une machine vierge et jetable, avec chaque commande enregistrée et le dépôt épinglé au commit d0fdb94cd446. Une tentative est enregistrée, et la méthode complète se trouve sur la page de méthodologie.
- Combien a coûté le test de puppetry ?
- L'exécution qui a produit ce verdict a coûté 0,08 USD : le coût réel du calcul et du modèle, pas un prix catalogue par million de tokens. Il est enregistré sur la page de cette exécution.
- Combien de temps faut-il pour installer puppetry ?
- 5 minutes lors de l'exécution qui a décidé ce verdict, d'une machine propre à un état de fonctionnement. Il s'agit d'une tentative mesurée, pas d'une moyenne.
- puppetry a-t-il besoin d'un GPU ?
- Pas pour démarrer. Argusic a atteint un état de fonctionnement sur une machine sans GPU.
- Qu'est-ce qui pose problème lors de l'installation de puppetry ?
- 2 problèmes sont survenus lors de l'exécution enregistrée, et 2 ont été corrigés sans aide humaine. Chacun, avec le temps qu'il a coûté, est listé sur cette page.
- Comment puppetry se compare-t-il aux alternatives ?
- Sur les 12 projets browser-automation qu'Argusic a installés et chronométrés, puppetry a été le 4e plus rapide à atteindre un état de fonctionnement, et 11 sur 12 en ont atteint un.
- Où sont les preuves pour puppetry ?
- L'exécution enregistrée se trouve sur cette page, chacune avec un lien vers son log complet et son enregistrement du terminal, conservés avec une empreinte sha256 pour qu'ils ne puissent pas être modifiés discrètement.