AtomAnt küldte be időpontban
newman

Számvetés

Egyszer volt, hol nem volt. Hol? Akár így is kezdődhetne ez az aprócska cikk, de nem így történt, mert volt. Volt nekem egy szeretett Postman-em, amit elkezdtem használni, majd jobban megismerni, és úgy éreztem, hogy kialakult köztünk valami, mígnem szembe találkoztam a kollekciók futtatásának limitjével. Ez röviden annyit tesz, hogy free vagy basic plan esetén 25 kollekció futtatására van mód havonta, ami nekem egyszerűen kezdett kevés lenni. Persze, jogos és érthető, hogy az elmúlt 15-20 évben szinten minden termék fizetőssé vált, vagy csak egy relatív szűk funkcionalitást adnak ingyen, vagy csak egy ideig. Nincs is ezzel semmi baj – de van – csakhogy a fizetős megoldás céges környezetben nem talált támogatókra, így nem maradt más, mint kutatni.

Kutatás

Kutatni? Áh, dehogy. Szerencsére az egyik kollégám rátalált a Newman-re, ami nagy segítség volt az épp szorult helyzetemben, hogy a Postman-ból kiexportált kollekciókat a Newman segítségével azonnal le tudtam futtatni. Az azonnal persze egy kissé költői túlzás – nem mintha közöm lenne a költészethez – mivel szükség van egy NodeJs telepítésre, majd pedig azzal a Newman-re.

Lelövöm a poént, ha bárki inkább a forrás linket olvasná, az itt van.

Lépések

  • NodeJs letöltése és telepítése

  • Command prompt nyitása (Windows 10 Pro), majd abban a következő parancs futtatása:

npm install -g newman
  • Command prompt-ban a következő parancs futtatás ahhoz, hogy a kollekció lefusson: 

newman run <a kiexportált json fájl és annak útvonala>

Szép, szép, csakhogy én ennél azért kicsit többet szeretnék, így folytattam az olvasást, és erre bukkantam:

A Newman könnyen használható a JavaScript-projektekben Node.js modulként. A Newman CLI funkcióinak teljes készlete programozott használatra is elérhető. A következő példa egy gyűjteményt futtat a lemezen tárolt JSON-gyűjteményfájl beolvasásával.

Bonyolítsuk meg

Tehát nincs más dolgunk, mint letölteni egy ingyenesen használható Visual Studio Code-ot, létrehozni egy munka könyvtárat, és a már említett NodeJs is telepítve kell, hogy legyen.

Az alábbi kódrészlet pedig jó kiindulási alap egy projekt felépítésére.

const newman = require('newman');


newman.run({
    collection: require('./sample-collection.json'),
    reporters: 'cli'
}, function (err) {
	if (err) { throw err; }
    console.log('collection run complete!');
});

Ahogy időm és energiám engedi majd, a demó projektemet feltöltöm GitHub-ra, ami már inkább tükrözi azt a fajta elképzelést, ahogy én jelenleg gondolom, hogy használni szeretném.

Riportolás

Addig is annyi kiegészítést még hozzáadnék ehhez a cikkhez, hogy a cli reporter önmagában kevés lehet, ha és amennyiben vannak olyan menedzserek, akik buknak a színes, szagos ábrákra – én is bukom az ábrákra– akkor érdemes telepíteni a htmlextra csomagot

npm install -g newman

és kiegészíteni a reporters részt így:

reporters: ['htmlextra', 'cli']

Így ebben az esetben kapunk egy igen jól kinéző és sok hasznos információt hordozó html fájlt az eredményről.

Default Report

Kapcsolók

Nem úszátok meg ennyivel, mivel van így igen jó összefoglaló a különféle kapcsolókról, amiket akár egy komplexebb (nem command prompt-os) futtatás során is használhattok. A teljesség igénye nélkül néhány számomra hasznos lehetőség:

--delay-request [number]Adjon meg egy késleltetést (ezredmásodpercben) a kérések között [szám].
--timeout [number]Adja meg azt az időt (ezredmásodpercben), amíg a teljes gyűjtési futás befejeződik a végrehajtásig.
--timeout-request [number]Adja meg a kérés időtúllépését (ezredmásodpercben) a kérelemhez.
--timeout-script [number]Adja meg azt az időt (ezredmásodpercben), ameddig várni kell a szkriptek végrehajtására.
--bailLeállítja a futót, ha egy teszteset sikertelen.
--silentKapcsolja ki a terminál kimenetét.
--verboseRészletes információk megjelenítése a gyűjtési futtatásról és az egyes elküldött kérésekről.

Szóval röviden ennyi. Ne menjetek messzire, mert lesz még folytatás, csak idő és energia kérdése.