Cum să testați un API folosind Python și JavaScript

Cum să testați un API folosind Python și JavaScript

Este o linie subțire între alegerea unei interfețe de programare a aplicațiilor (API) și a decide dacă poți lucra cu ea sau nu. Majoritatea API-urilor REST au o arhitectură generică și o cale de solicitare comună. Dar unele API-uri de acolo deviază de la standard. În consecință, devin dificil de utilizat.

Astfel, înainte de a vă construi întregul software pe un API, trebuie să efectuați verificări de calitate și să vă asigurați că funcționează bine. Deci, ce este testarea API și cum puteți testa un API?

Ce este testarea API?

Testarea API implică evaluarea inițială a funcționalității, securității, scalabilității, vitezei și mai multor API pentru a vedea dacă este ideală pentru programul care dorește să-l folosească. Dar superficial, poate implica testarea pentru a vedea dacă trimite răspunsurile adecvate atunci când faceți cereri prin diferitele sale puncte finale.

În funcție de structura sa, în timp ce testați un API, veți face solicitări (Obțineți, Postați, Actualizați sau ștergeți) către punctele finale relevante ale acestuia. Există multe valori de verificat în timpul testării API. Dar, la nivel de începător, doriți să validați integritatea unui API din codul său de stare și să vă asigurați că preia și acceptă datele corecte.

În acest scop, ca orice solicitare web, un API poate returna codul de stare 200, 400 sau 500 sau chiar altele.

Majoritatea API-urilor folosesc răspunsuri JSON pentru a-și furniza sarcinile utile. În funcție de obiectiv, alții pot accepta și răspunde cu încărcături utile XML, mai multe părți sau HTML.

Cum să testați un API folosind Python și JavaScript

Deși există multe instrumente de testare a interfeței grafice cu utilizatorul (GUI) pe internet, puteți evalua un API mai critic cu scripturi scrise.

Un API indică în documentația sa tipul de solicitări pe care le permite și le oferă puncte finale relevante. Deci, le puteți lua și testa folosind metodele de solicitare adecvate.

Înrudit: Ce este API-ul REST și cum puteți obține date pentru aplicația sau site-ul dvs.?

Spre deosebire de faza reală de producție, testarea API este brută. Deci, nu aveți nevoie de atâta specificitate ca atunci când rulați API-ul pentru producție. Deși există diferite tipuri de testare API, ne vom concentra mai mult pe testele de validare a răspunsurilor în acest articol.

Vom testa un API de magazin fals în acest tutorial utilizând preluarea JavaScript și biblioteca de solicitări Python . În timp ce facem acest lucru, vom testa punctele finale pentru obținerea, postarea, actualizarea și ștergerea datelor.

Cum să testați un punct final API Get cu JavaScript

La fel ca v - ar folosi în producție, puteți testa un API în JavaScript folosind fie Axios sau fetch metoda.

Pentru a obține starea răspunsului de la API folosind fetch :

fetch('https://fakestoreapi.com/products', ).then(res =>{ console.log(res) })

Solicitarea de mai sus returnează o stare 200 dacă este un răspuns valid. Odată ce faceți o solicitare cu succes, puteți solicita date în timp real de la API.

Să obținem datele din acest API:

fetch('https://fakestoreapi.com/products', ).then(res =>{ if (res.ok){ return res.json() } }).then(response=>{ console.log(response) }).catch(err => console.log(err))

Răspunsul la codul de preluare de mai sus arată astfel:

Cum să testați un API folosind Python și JavaScript

Pentru a obține prețul tuturor produselor, de exemplu, puteți utiliza funcția de hartă :

fetch('https://fakestoreapi.com/products', ).then(res =>{ if (res.ok){ return res.json() } }).then(response=>{ response.map(data =>{ console.log(data.price) }) // console.log(response) }).catch(err => console.log(err))

Cele de mai sus înregistrează următoarea ieșire:

Cum să testați un API folosind Python și JavaScript

Testarea unui punct final Get cu Python

După cum am menționat mai devreme, Python folosește și biblioteca de solicitări pentru a accesa datele unui API.

Pentru a verifica starea răspunsului în acest caz:

import requests data = requests.get('https://fakestoreapi.com/products') print(data.status_code)

Înregistrarea datelor, așa cum am făcut mai sus, returnează o stare corespunzătoare. Este 200 în acest caz, totuși.

Acum să obținem aceleași date cu Python ca și când am folosit JavaScript:

import requests data = requests.get('https://fakestoreapi.com/products') myData = data.json() print(myData)

Rezultatul celor de mai sus arată astfel:

Cum să testați un API folosind Python și JavaScript

Puteți obține date specifice utilizând bucla for .

Pentru a obține prețurile produselor, de exemplu:

import requests data = requests.get('https://fakestoreapi.com/products') myData = data.json() indexes = 0 for i in myData: goods = myData[indexes] indexes +=1 print(goods["price"])

Iată cum arată rezultatul:

Cum să testați un API folosind Python și JavaScript

Testarea unui post final cu JavaScript

După ce ați testat și ați văzut că cererea Obținere funcționează, în funcție de scopul dvs. și de ceea ce oferă API-ul, poate doriți să verificați dacă puteți introduce și date în ea.

Spre deosebire de modul în care faceți o solicitare Obțineți , o solicitare Post acceptă o sarcină utilă. În plus, va trebui să specificați că este o solicitare Post:

// Specify the payload let payload = { title: 'new product', price: 13.5, description: 'test description', image: '', category: 'electronic' } fetch('https://fakestoreapi.com/products', { method: "Post", headers:{ 'Content-Type': 'application/json' }, body: JSON.stringify(payload) //convert the payload to JSON } ).then(res =>{ if (res.ok){ console.log(res.status) return res.json() } }).then(response => { console.log(response) }).catch(err => console.log(err))

Codul de mai sus înregistrează codul de stare a răspunsului și noile informații introduse atunci când îl rulați. Aceasta vă spune dacă solicitarea dvs. a fost aprobată sau nu. De obicei, dacă codul de stare este 200, atunci API-ul dvs. are un punct final valid care returnează răspunsul corespunzător.

Testarea cererii post cu Python

De asemenea, puteți testa un punct final post al unui API folosind requests.post din Python . Așa cum ați făcut în timp ce utilizați preluarea JavaScript , trebuie să specificați și încărcătura utilă aici:

import requests payload = { 'title': 'new product', 'price': 13.5, 'description': 'test description', 'image': '', 'category': 'electronic' } Posted = requests.post('https://fakestoreapi.com/products', data = payload ) print(Posted.status_code) print(Posted.json())

La fel ca JavaScript, codul Python de mai sus înregistrează, de asemenea, codul de stare a răspunsului și noile date specificate în sarcina utilă .

Testarea punctelor finale Put

Actualizarea datelor API necesită același proces ca și postarea și obținerea lor în ambele limbi.

Pentru a face acest lucru folosind JavaScript-ul de preluare , trebuie doar să înlocuiți Post cu Put :

// Specify the payload let payload = { title: 'new product', price: 13.5, description: 'test description', image: '', category: 'electronic' } fetch('https://fakestoreapi.com/products/19', { method: "Put", headers:{ 'Content-Type': 'application/json' }, body: JSON.stringify(payload) //convert the payload into JSON } ).then(res =>{ if (res.ok){ console.log(res.status) return res.json() } }).then(response => { console.log(response) }).catch(err => console.log(err))

Dacă acordați atenție punctului final API, veți vedea că acesta include de data aceasta ID-ul produsului. Acesta este modul în care API-ul știe ce date doriți să actualizați în acest caz.

Cu toate acestea, unele API-uri ar putea folosi alte metode pentru a-și crea punctele finale. Deci nu este un standard.

Pentru a testa actualizarea datelor API folosind Python, utilizați în schimb requests.put :

import requests payload = { 'title': 'new product', 'price': 13.5, 'description': 'test description', 'image': '', 'category': 'electronic' } Posted = requests.put('https://fakestoreapi.com/products/19', data = payload ) print(Posted.status_code) print(Posted.json())

Exemplele de mai sus, dacă au succes, introduceți noile date în poziția 19, așa cum este indicat de punctul final API.

Testarea cererii de ștergere

Ștergerea datelor dintr-un API este la fel de ușoară ca și efectuarea unei cereri Obținere. Asta pentru că, spre deosebire de Post și Put, nu trebuie să specificați nicio sarcină utilă. Tot ce aveți nevoie este punctul final de ștergere.

API-ul ales de noi aici folosește ID-ul produsului pentru a-și urmări datele. Deci, ștergerea unui produs este ușoară:

fetch('https://fakestoreapi.com/products/19', { method: "Delete", headers:{ 'Content-Type': 'application/json' } } ).then(res =>{ if (res.ok){ console.log(res.status) return res.json() } }).then(response => { console.log(response) }).catch(err => console.log(err))

Aveți nevoie doar de câteva linii de cod pentru a realiza același lucru folosind Python:

import requests Posted = requests.delete('https://fakestoreapi.com/products/19', ) print(Posted.status_code) print(Posted.json())

Ambele exemple de mai sus înregistrează codul de stare a răspunsului și datele aparținând ID-ului interogat (19 în acest caz).

Aceste metode de testare sunt generice?

Deși ne-am concentrat doar pe un singur API în această postare, metodele folosite pentru a testa punctele finale CRUD nu sunt diferite atunci când avem de-a face cu alte API-uri. Singura diferență, desigur, ar putea fi în regulile din jurul fiecărei structuri API și în liniile directoare pentru solicitarea datelor. Odată ce le descifrați pentru un API ales, puteți utiliza metoda adecvată, așa cum este descrisă aici, pentru a testa punctele finale corespunzătoare.

Astfel, deoarece fiecare API are reguli de conectare la el, așa că în timpul testării, unii ar putea oferi parametri suplimentari pe care să îi includeți în anteturile solicitării. Astfel de parametri includ, de obicei, un token de acces sau alții, așa cum sunt furnizați în documentație.


Cum se calculează valoarea nCr

Cum se calculează valoarea nCr

Combinația este un concept matematic. Se referă la aranjarea mai multor obiecte în care ordinea lor este irelevantă. O formulă de bază descrie numărul de combinații valide.

Cum să scrieți și să compilați primul cod de soliditate

Cum să scrieți și să compilați primul cod de soliditate

Solidity este limbajul de programare folosit de contractele inteligente pe blockchain-ul Ethereum. Este un limbaj de programare tip static, orientat pe obiecte.

SQL vs. NoSQL: Care este cea mai bună bază de date pentru următorul tău proiect?

SQL vs. NoSQL: Care este cea mai bună bază de date pentru următorul tău proiect?

SQL vs. NoSQL: Care este cea mai bună bază de date pentru următorul tău proiect?

Cum să găsiți cuburi și pătrate perfecte cu N cifre folosind Python, C++ și JavaScript

Cum să găsiți cuburi și pătrate perfecte cu N cifre folosind Python, C++ și JavaScript

Mulți programatori iubesc să rezolve probleme matematice dificile folosind cod. Ajută la ascuțirea minții și la îmbunătățirea abilităților de rezolvare a problemelor. În acest articol, veți învăța cum să găsiți cele mai mici și mai mari pătrate și cuburi perfecte cu n cifre folosind Python, C++ și JavaScript. Fiecare exemplu conține, de asemenea, eșantion de ieșire pentru mai multe valori diferite.

Cum să utilizați Python ca calculator în linia de comandă

Cum să utilizați Python ca calculator în linia de comandă

În timp ce puteți utiliza un calculator grafic pe computer, interpretul limbajului de programare Python se poate dubla ca un calculator de birou. Este o glumă atât de populară în comunitatea Python, încât este menționată în tutorialul oficial. Iată cum puteți utiliza Python ca calculator.

Cum să încorporați tweet-uri în postările dvs. WordPress

Cum să încorporați tweet-uri în postările dvs. WordPress

Încorporarea serviciilor terță parte în postările dvs. WordPress este o modalitate interesantă de a captiva interesul vizitatorului. Conținutul încorporat oferă, de asemenea, indicii vizuale care facilitează scanarea. WordPress a simplificat adăugarea acestui tip de conținut.

Începeți cu Jupyter Notebook: Un tutorial

Începeți cu Jupyter Notebook: Un tutorial

Dacă sunteți un cercetător de date aspirant care lucrează cu Python sau R, trebuie să știți cum să utilizați Jupyter Notebook. Este un IDE open-source și bazat pe server pentru manipularea datelor, partajarea codului live, precum și gestionarea fluxului de lucru pentru știința datelor.

Codarea nu este pentru toată lumea: 9 joburi tehnologice pe care le puteți obține fără ea

Codarea nu este pentru toată lumea: 9 joburi tehnologice pe care le puteți obține fără ea

Tehnologia este, fără îndoială, industria viitorului. Dacă ești unul dintre milioanele de tineri adulți pe cale să se arunce în prima etapă a carierei tale, s-ar putea să te întrebi ce să faci dacă nu-ți place codificarea.

7 comenzi vitale pentru a începe cu Python pentru începători

7 comenzi vitale pentru a începe cu Python pentru începători

Învățarea unui nou limbaj de programare, cum ar fi Python, devine fără efort dacă aveți o foaie de parcurs cuprinzătoare care detaliază conceptele pe care să le învățați ca începător și cum să progresați mai departe pentru a atinge următoarea etapă. Chiar și programatorii intermediari ar trebui să își perfecționeze frecvent elementele de bază pentru a construi o bază solidă pentru ei înșiși.

Prima ta aplicație web ASP.NET: Cum să începeți

Prima ta aplicație web ASP.NET: Cum să începeți

ASP.NET este cadrul multiplatform gratuit al Microsoft pentru crearea de aplicații și servicii web. Platforma ASP.NET este o extensie a .NET, o platformă de dezvoltator de instrumente, limbaje de programare și biblioteci utilizate pentru a construi diferite aplicații.

Cele mai bune 9 alternative Docker pentru managementul containerelor

Cele mai bune 9 alternative Docker pentru managementul containerelor

Containerele sunt extrem de benefice pentru dezvoltarea, implementarea și gestionarea software-ului într-un mediu virtual. Docker este util în procesul de containerizare, dar nu este singura platformă din jur. Dacă sunteți în căutarea unor alternative la Docker, nu căutați mai departe. Această listă prezintă câteva alternative Docker eficiente și bogate în funcții de utilizat în următorul proiect.

Este ARCore sau ARKit mai bun pentru a crea experiențe de realitate augmentată?

Este ARCore sau ARKit mai bun pentru a crea experiențe de realitate augmentată?

Unele dintre cele mai discutate aplicații și experiențe mobile din zilele noastre utilizează tehnologia de realitate augmentată. În timp ce unele dintre aceste experiențe pot funcționa practic pe orice dispozitiv mobil, altele funcționează doar pe modele mai noi și mai scumpe. Dezvoltarea și utilizarea acestor experiențe mai robuste necesită ARCore și ARKit.

Cum se creează o nouă ramură în Git

Cum se creează o nouă ramură în Git

Ramurile sunt esențiale pentru conceptul de control al versiunilor în programare și Git în special. Acest articol de pornire vă spune ce este o ramură și cum să creați una folosind o serie de instrumente diferite.

Cum să utilizați instrucțiunea Python if

Cum să utilizați instrucțiunea Python if

Declarația if este forța motrice a programării logice. Ca rezultat, o mai bună înțelegere a Python-ului este un plus semnificativ la abilitățile dumneavoastră de programare Python.

Top 5 insigne care vă vor supraîncărca depozitul GitHub

Top 5 insigne care vă vor supraîncărca depozitul GitHub

Insignele GitHub pot spori lizibilitatea unui depozit, oferind utilizatorilor o modalitate rapidă de a captura valorile depozitului. Insignele pot fi încorporate în README.md pentru a clarifica importanța și necesitatea proiectului pentru alți dezvoltatori. Drept urmare, cititorii își fac o idee foarte rapidă despre depozit, verificând insignele atașate.

Noțiuni introductive cu Redis și PHP pentru stocarea rapidă a datelor

Noțiuni introductive cu Redis și PHP pentru stocarea rapidă a datelor

Popularul motor de stocare Redis este un instrument excelent și obligatoriu în orice arsenal de dezvoltatori de software. Motorul de stocare în memorie permite stocarea și recuperarea datelor extraordinar de rapide, până la 32 de milioane de interogări pe secundă, făcându-l o completare principală pentru orice motor major de baze de date.

Ce este WYSIWYG?

Ce este WYSIWYG?

O parte din magia dezvoltării software are loc atunci când liniile de cod alchimizează în mai mult decât suma părților lor. Veți descoperi că aveți nevoie de o anumită vizualizare creativă atunci când încercați să construiți abstract în acest fel. Acest lucru poate fi valabil pentru procesarea de text sau design web, la fel ca și pentru programare.

Cum se instalează .NET Framework versiunea 3.5 pe Windows 10

Cum se instalează .NET Framework versiunea 3.5 pe Windows 10

Ca utilizator de Windows, probabil că ați întâlnit cel puțin o dată cuvintele .NET Framework. Este un cadru software dezvoltat de Microsoft care vă permite să construiți și să rulați programe C#, C++, F# și Visual Basic. Cea mai recentă versiune .NET este 4.8, dar este posibil ca computerul să aibă nevoie de o versiune mai veche de .NET (cum ar fi .NET 3.5) pentru a rula unele aplicații.

WordPress vs. Wix: diferențele cheie

WordPress vs. Wix: diferențele cheie

Te confrunți adesea cu dilema clasică în timp ce construiești un site web pentru tine sau afacerea ta. WordPress vs. Wix — pe care să-l alegi și care ar fi cea mai bună alegere pentru tine?

Cele mai bune 10 distribuții Linux pentru dezvoltatori

Cele mai bune 10 distribuții Linux pentru dezvoltatori

În timp ce Linux ar putea să nu fie sistemul de operare preferat pentru utilizatorii ocazionali, este alegerea preferată pentru majoritatea dezvoltatorilor și programatorilor. Linux este un sistem de operare mai practic care a fost conceput în mod explicit ținând cont de programare și dezvoltatori.

Cum se calculează valoarea nCr

Cum se calculează valoarea nCr

Combinația este un concept matematic. Se referă la aranjarea mai multor obiecte în care ordinea lor este irelevantă. O formulă de bază descrie numărul de combinații valide.

Cum să scrieți și să compilați primul cod de soliditate

Cum să scrieți și să compilați primul cod de soliditate

Solidity este limbajul de programare folosit de contractele inteligente pe blockchain-ul Ethereum. Este un limbaj de programare tip static, orientat pe obiecte.

SQL vs. NoSQL: Care este cea mai bună bază de date pentru următorul tău proiect?

SQL vs. NoSQL: Care este cea mai bună bază de date pentru următorul tău proiect?

SQL vs. NoSQL: Care este cea mai bună bază de date pentru următorul tău proiect?

Cum să găsiți cuburi și pătrate perfecte cu N cifre folosind Python, C++ și JavaScript

Cum să găsiți cuburi și pătrate perfecte cu N cifre folosind Python, C++ și JavaScript

Mulți programatori iubesc să rezolve probleme matematice dificile folosind cod. Ajută la ascuțirea minții și la îmbunătățirea abilităților de rezolvare a problemelor. În acest articol, veți învăța cum să găsiți cele mai mici și mai mari pătrate și cuburi perfecte cu n cifre folosind Python, C++ și JavaScript. Fiecare exemplu conține, de asemenea, eșantion de ieșire pentru mai multe valori diferite.

Cum să utilizați Python ca calculator în linia de comandă

Cum să utilizați Python ca calculator în linia de comandă

În timp ce puteți utiliza un calculator grafic pe computer, interpretul limbajului de programare Python se poate dubla ca un calculator de birou. Este o glumă atât de populară în comunitatea Python, încât este menționată în tutorialul oficial. Iată cum puteți utiliza Python ca calculator.

Cum să încorporați tweet-uri în postările dvs. WordPress

Cum să încorporați tweet-uri în postările dvs. WordPress

Încorporarea serviciilor terță parte în postările dvs. WordPress este o modalitate interesantă de a captiva interesul vizitatorului. Conținutul încorporat oferă, de asemenea, indicii vizuale care facilitează scanarea. WordPress a simplificat adăugarea acestui tip de conținut.

Începeți cu Jupyter Notebook: Un tutorial

Începeți cu Jupyter Notebook: Un tutorial

Dacă sunteți un cercetător de date aspirant care lucrează cu Python sau R, trebuie să știți cum să utilizați Jupyter Notebook. Este un IDE open-source și bazat pe server pentru manipularea datelor, partajarea codului live, precum și gestionarea fluxului de lucru pentru știința datelor.

Codarea nu este pentru toată lumea: 9 joburi tehnologice pe care le puteți obține fără ea

Codarea nu este pentru toată lumea: 9 joburi tehnologice pe care le puteți obține fără ea

Tehnologia este, fără îndoială, industria viitorului. Dacă ești unul dintre milioanele de tineri adulți pe cale să se arunce în prima etapă a carierei tale, s-ar putea să te întrebi ce să faci dacă nu-ți place codificarea.

7 comenzi vitale pentru a începe cu Python pentru începători

7 comenzi vitale pentru a începe cu Python pentru începători

Învățarea unui nou limbaj de programare, cum ar fi Python, devine fără efort dacă aveți o foaie de parcurs cuprinzătoare care detaliază conceptele pe care să le învățați ca începător și cum să progresați mai departe pentru a atinge următoarea etapă. Chiar și programatorii intermediari ar trebui să își perfecționeze frecvent elementele de bază pentru a construi o bază solidă pentru ei înșiși.

Prima ta aplicație web ASP.NET: Cum să începeți

Prima ta aplicație web ASP.NET: Cum să începeți

ASP.NET este cadrul multiplatform gratuit al Microsoft pentru crearea de aplicații și servicii web. Platforma ASP.NET este o extensie a .NET, o platformă de dezvoltator de instrumente, limbaje de programare și biblioteci utilizate pentru a construi diferite aplicații.