Simptomi

Korištenje vanjskih SOAP usluga Operacije
SOAP (Simple Object Access Protocol) je standardizirani protokol za prijenos poruka između klijenta i poslužitelja. Obično se koristi u kombinaciji s HTTP(S), ali može raditi i s drugim protokolima aplikacijskog sloja (kao što su SMTP i FTP). SOAP testiranje sa stajališta tehnika testiranja ne razlikuje se bitno od rada s drugim API-jima, ali zahtijeva

prethodna priprema

(u smislu teorije protokola) i posebne alate za testiranje. U ovom bih članku želio formulirati mali popis potrebnih znanja i vještina, koji će biti jednako koristan i SOAP testeru (koji često nema pojma čega bi se uhvatio nakon postavljanja zadatka) i menadžeru koji prisiljeni ocjenjivati ​​znanje ispitivača i razvijati planove za obuku.

Teorijska osnova
Činjenica da je SOAP protokol ima puno implikacija za testiranje: trebate proučiti sam protokol, "primarne" standarde i protokole na kojima se temelji te (po potrebi) postojeća proširenja.



XML
XML je označni jezik sličan HTML-u. Svaka poruka poslana/primljena putem SOAP-a je XML dokument u kojem su podaci prikladno strukturirani i lako čitljivi, na primjer:
Julija
Natasha

Podsjetnik

Ne zaboravite napisati članak!
Više o XML-u možete saznati na w3schools ili codenet (na ruskom). Obavezno obratite pozornost na opis prostora imena (metoda za rješavanje sukoba pri opisivanju elemenata u XML-u) - njihovo korištenje je obavezno u SOAP-u.

...







...

XSD
U svom radu također možete naići na razne "ekstenzije" SOAP-a - standarde poput WS-*. Jedan od najčešćih je WS-Security, koji vam omogućuje rad s enkripcijom i elektroničkim potpisima. Uz njega se često koristi i WS-Policy s kojim možete upravljati pravima na korištenje svoje usluge.

Primjer korištenja WS-Security:


Alice
6S3P2EWNP3lQf+9VC3emNoT57oQ=
YF6j8V/CAqi+1nRsGLRbuZhi
2008-04-28T10:02:11Z

Sva ova proširenja su prilično složene strukture koje se ne koriste u svakoj SOAP usluzi; njihova detaljna studija u početnoj fazi svladavanja SOAP testiranja vjerojatno neće biti relevantna.

Alati

Kao što već razumijete, SOAP je ozbiljna stvar; morate znati teoriju i brojne standarde. U praksi bi takva složenost dovela do vrlo značajnih troškova rada (na primjer, morali biste svaki put pogledati dijagram u bilježnici i slati zahtjeve s curlom). Stoga su stvoreni alati koji olakšavaju rad sa SOAP-om.

XML/XSD uređivači
Dobar tester započinje testiranje u fazi pisanja dokumentacije, tako da je prikladno koristiti posebne uređivače za testiranje krugova. Dva najpoznatija su Oxygen (cross-platform) i Altova (samo Windows); oboje su plaćeni. Riječ je o vrlo moćnim programima koje analitičari aktivno koriste pri opisivanju usluga.

U mojoj su se praksi tri značajke uređivača pokazale korisnima: XSD vizualizacija, generiranje XML-a temeljeno na XSD-u i validacija XML-a temeljeno na XSD-u.

1. XSD vizualizacija potreban za vizualni prikaz dijagrama, omogućujući vam da brzo identificirate potrebne elemente i atribute, kao i postojeća ograničenja. Na primjer, za CheckTextRequest, tekstualni element je obavezan, a sva tri atributa su izborna (sa atributom opcija koji ima zadanu vrijednost nula).

Vizualizacija je neophodna kada postoji mnogo vrsta i ograničenja u dijagramu. Ako vam treba samo ovo i ne želite plaćati za posebne uređivače, onda možete razmotriti besplatne alternative (na primjer, JDeveloper).

2. XML generacija temeljena na XSD-u korisno kada želite vidjeti valjani primjer poruke. Koristim ga za brzo eksperimentiranje s mogućim dovršavanjem poruke i testiranje nijansi funkcioniranja ograničenja.

3. Nakon korištenja značajke iz točke 2, korisno je izvršiti Provjera valjanosti XML-a u odnosu na XSD– odnosno provjeriti ispravnost poruke. Zajedno, značajke 2 i 3 omogućuju vam da uhvatite lukave nedostatke u XSD-u čak i kada je sama usluga u razvoju.

Alat za testiranje – SoapUI

SOAP testiranje gotovo uvijek uključuje korištenje SoapUI. O korištenju ovog alata možete pročitati u raznim izvorima (,), no najučinkovitije će biti pročitati službenu dokumentaciju. Identificiram 8 uvjetnih razina znanja SoapUI:

Razina 1 – mogu slati zahtjeve
Naučite izraditi projekt temeljen na WSDL-u. SoapUI može generirati sve potrebne upite za vas; Sve što trebate učiniti je provjeriti jesu li ispravno popunjeni i kliknuti gumb "Pošalji". Nakon što ste razvili vještine stvaranja valjanih upita, morate svladati umijeće stvaranja netočnih upita koji uzrokuju pogreške.

Razina 2 – Mogu raditi testne pakete i testne slučajeve
Počnite raditi mini-autotestove. Testni kompleti i testni slučajevi omogućuju vam stvaranje skripti za testiranje API-ja, pripremu podataka za zahtjeve i automatsku provjeru primljenog odgovora kako biste bili sigurni da odgovara očekivanom. U početku se mogu koristiti jednostavno kao zbirke upita. Na primjer, ako ste stvorili kvar i želite ga brzo provjeriti nakon što ste ga popravili, možete dodijeliti poseban komplet za testiranje posebno za zahtjeve za kvar.

Razina 3 – Mogu pisati tvrdnje
Nakon svladavanja testnih slučajeva, bit će vam korisno naučiti kako ih učiniti automatski provjerljivima. Nakon toga više nećete morati očima tražiti informacije o odgovoru: ako postoji automatska provjera, slučajevi će biti označeni zeleno (ako je provjera prošla) ili crveno (ako nije prošla). SoapUI pruža velik skup mogućih tvrdnji, ali najprikladnije i najjednostavnije su Sadrži i Ne sadrži. Uz njihovu pomoć možete provjeriti dostupnost konkretan tekst u primljenom odgovoru. Ove provjere također podržavaju pretraživanja regularnih izraza.

Razina 4 – koristite XPath i/ili XQuery u tvrdnjama
Za one koji su malo upoznati s korisničkim sučeljem koristeći Selenium, XPath jezik je poznata stvar. Grubo govoreći, XPath vam omogućuje pretraživanje elemenata u XML dokumentu. XQuery je slična tehnologija koja može interno koristiti XPath; ovaj jezik je puno moćniji, nalikuje SQL-u. Oba ova jezika mogu se koristiti u tvrdnjama. Provjere uz njihovu pomoć su ciljanije i stabilnije, pa će vaši slučajevi uživati ​​veće povjerenje.

Razina 5 – Mogu napisati složene testove pomoću posebnih koraka

Testni slučajevi mogu sadržavati ne samo jedan zahtjev, već i nekoliko (na primjer, kada želite emulirati standardni korisnički scenarij "kreiraj entitet" → "izvezi entitet"). Između zahtjeva mogu postojati i drugi posebni koraci, na primjer:

  • Svojstva i prijenos svojstava (pomoć pri ponovnoj upotrebi podataka i njihovom prijenosu između zahtjeva);
  • JDBC zahtjev (koristi se za dohvaćanje podataka iz baze podataka);
  • Uvjetni Goto (omogućuje vam da napravite grane ili petlje u testnom slučaju);
  • Pokrenite TestCase (pomaže staviti neke tipične upite u zasebne testne slučajeve i pozvati ih gdje je potrebno).

Razina 6 – korištenje Groovy skripti

SoapUI vam omogućuje pisanje Groovy skripti na raznim mjestima. Najjednostavniji slučaj je generiranje podataka u samom upitu pomoću umetanja $(=). Stalno koristim ove umetke:

  • $(=novi datum().format(“gggg-MM-dd’T’HH:mm:ss”))– za umetanje trenutnog datuma i vremena u traženom formatu;
  • $(=java.util.UUID.randomUUID())– za umetanje ispravno formiranog nasumičnog GUID-a.

Punopravne skripte mogu se koristiti kao koraci u slučajevima i provjerama. U jednom trenutku ćete otkriti da se nekoliko posebnih koraka iz pete razine može zamijeniti jednom skriptom.

Razina 7 – korištenje MockServices
SoapUI temeljen na WSDL-u može generirati lažne objekte. Lažni objekt je najjednostavnija simulacija usluge. Uz pomoć "mocksa" možete započeti s pisanjem i otklanjanjem pogrešaka testnih slučajeva čak i prije nego što je usluga stvarno dostupna za testiranje. Također se mogu koristiti kao "dopune" za privremeno nedostupne usluge.

Razina 8 – SoapUI Bog
Znate li razliku između plaćenog i besplatne verzije SoapUI i koristite SoapUI API u kodu. Koristite dodatke i pokrećete slučajeve putem naredbenog retka i/ili CI-ja. Vaši testni slučajevi su jednostavni i laki za održavanje. Uglavnom, na ovom instrumentu ste "pojeli psa". Volio bih razgovarati s nekim tko je savladao SoapUI na ovoj razini. Ako ste i vi, prijavite se u komentarima!

Testiranje s programskim jezicima

Evo primjera kako izgleda zahtjev za YandexSpeller API, napravljen pomoću groovy-wslite:

uvoz wslite.soap.*
def klijent = novi SOAPClient("http://speller.yandex.net/services/spellservice?WSDL")
def response = client.send(SOAPAction: "http://speller.yandex.net/services/spellservice/checkText") (
tijelo (
CheckTextRequest("lang": "ru", "xmlns":"http://speller.yandex.net/services/spellservice") (
tekst ("greška")
}
}
}
assert "error" == response.CheckTextResponse.SpellResult.error.s.text()
tvrditi "1" == [e-mail zaštićen]()

Koliko ja znam, još ne postoje okviri visoke razine (kao što je Rest-assured) za SOAP testiranje, ali nedavno se pojavio zanimljiv alat - karate. Uz njegovu pomoć možete opisati slučajeve za testiranje SOAP-a i REST-a u obliku skripti poput Cucumber / Gherkin. Za mnoge testere, okretanje karateu bit će idealno rješenje, jer će takvi scenariji, u smislu složenosti pisanja i pratećih slučajeva, ležati negdje na sredini između korištenja SoapUI-ja i pisanja vlastitog okvira za testiranje SOAP-a.

Zaključak

Malo je vjerojatno da ćete ikada htjeti testirati SOAP samo za sebe (kao što biste mogli s REST-om). Ovo je teški protokol koji se koristi u ozbiljnim poslovnim rješenjima. Ali njegova težina je ujedno i dar ispitivaču: sve korištene tehnologije su standardizirane, a tu su i visokokvalitetni alati za rad. Sve što se traži od testera je želja da ih nauči i koristi.

Sastavimo isti popis potrebnih vještina za ispitivača. Dakle, ako tek počinjete testirati SOAP usluge, morate znati i moći koristiti:

  • WSDL.
  • SAPUN.
  • XML/XSD editori (na razini XSD vizualizacije).
  • SoapUI na razini 1.

Kao što vidite, glavni naglasak je na učenju standarda; u SoapUI-u dovoljno je samo izvršavati upite. Kako zaronite u SOAP testiranje, naići ćete na zadatke koji će zahtijevati ozbiljnije vještine i znanja, ali ne biste trebali pokušavati naučiti sve odjednom. Puno je važnija dosljednost u povećanju razine složenosti obavljenih zadataka. Slijedeći ovu preporuku, jednog dana ćete shvatiti da ste postali dobar stručnjak u ovom području!

Web usluge u 1C

Ovaj članak govori o integraciji 1C s postojećim web uslugama i korištenju samog 1C kao web servisa.

Pod web uslugama u ovom slučaju podrazumijevat će se sustavi koji rade na internetu i s njima se ostvaruje interakcija ne samo putem SOAP-a (koji je upravo web servis), već i na druge načine, uključujući redovne HTTP(S) zahtjeve.


Rizici korištenja 1C web usluga

Platforma 1C81 uvela je implementaciju web servisa.

Ali njihova je uporaba prepuna rizika:

  1. 1C8 ne radi dobro preko HTTPS-a, nema dijagnostičkih alata, pa je ponekad nemoguće razumjeti zašto, čak i ako postoji certifikat, servis ne želi raditi preko HTTPS-a. Rješenje je implementacija web usluga putem CURL-a ili podizanje HTTPS tunela.
  2. 1C8 se pridržava svojih pravila za provjeru valjanosti WSDL shema. Ponekad se iz neobjašnjivih razloga WSDL shema ne želi učitati u WS vezu. Razlog možete saznati samo na partnerskom forumu od jednog stručnjaka. Ne postoje alati za dijagnostiku WSDL sheme, niti je naznačen razlog ili linija na kojoj se prekida učitavanje sheme.

Pravila za izgradnju prodajnih usluga

Kupcu se izdaje prodajni dokument (račun) samo ako je transakcija usluge uspješna. Inače, moguća je situacija da klijent dobije ček i uvjeren je da je dobio uslugu, a zapravo nije.

Korištenje vanjskih SOAP usluga

SOAP web usluge koriste WSDL sheme i XDTO objekte za predstavljanje podataka.

Učitavanje WSDL-a

Kako biste koristili vanjsku uslugu, morate preuzeti njenu WSDL shemu.

Provjera valjanosti WSDL sheme

Ponekad se WSDL shema ne učitava u 1C. Valjanost (ispravnost) sheme možete provjeriti pomoću bilo kojeg validatora WSDL sheme, na primjer http://www.validwsdl.com/.

Potrebno je učitati shemu na neku http stranicu (možete koristiti ftp) i navesti adresu datoteke u koju je shema učitana:

Značajke učitavanja WSDL-a u 1C

Osobitost učitavanja WSDL-a u 1C je da se važeće sheme možda neće učitati. Nema ugrađenog validatora, tako da morate tražiti pogrešku pomoću destruktivne analize, uzastopno smanjujući broj elemenata u krugu. Možete, primjerice, izbrisati opis web usluge.

Obrada za testiranje pokrenute vanjske web usluge

Za testiranje vanjske web-usluge koja radi, upotrijebite obradu "Test ArbitraryWebService.epf" iz paketa za ovaj članak.

Testiranje se može koristiti na primjeru usluge Morpher koja odbija imena (adresa usluge http://www.morpher.ru/WebServices/Morpher.asmx?WSDL):

Na ovaj način možete testirati bilo koju uslugu koja ima jednostavne ulazne točke koje sadrže parametre jednostavnih tipova: broj, datum, string.

Tijekom obrade također možete navesti prijavu i lozinku koji su potrebni za autorizaciju pristupa web usluzi.

Standardni alati za usluge otklanjanja pogrešaka

Za otklanjanje pogrešaka možete koristiti program SoapUI koji može poslati proizvoljan zahtjev web servisu i od njega dobiti odgovor.

SOAP i HTTPS

Nažalost, SOAP u 1C se ponaša prilično kapriciozno kada radi preko HTTPS protokola, praksa pokazuje da je nemoguće postići HTTPS vezu, iako je ta mogućnost navedena u platformi. Nedostatak dijagnostičkih alata i alata za otklanjanje pogrešaka za otkrivanje razloga zašto se veza ne uspostavlja uzima svoj danak. Stoga je prikladno koristiti SOAP preko CURL-a.

Ugrađeni mehanizam za korištenje HTTPS-a podrazumijeva da svi certifikati moraju biti objavljeni u zajedničkoj pem datoteci u direktoriju programa 1C.

Korištenje 1C kao usluge

Pravila za razvoj usluge temeljene na 1C

Operacija Zdravo

Dobra je praksa stvoriti operaciju u usluzi koja obavještava da je usluga dostupna. To olakšava život integratorima; bit će im lakše provjeriti je li komunikacija sa servisom uspostavljena.

Na primjer, možete koristiti operaciju Hello bez parametara, koja jednostavno vraća Booleovu vrijednost True.

Objavljivanje web usluge

Postupak je dobro opisan u dokumentaciji: file:///C:/Program%20Files/1cv81/AddDoc/RU/V8AddDoc81.htm#_Toc176167634:

Zadatak objave web servisa svodi se na postavljanje *.1cws konfiguracijskih datoteka web servisa u odgovarajući direktorij web poslužitelja s odgovarajućim postavkama za web poslužitelj. Kako biste objavili web usluge, trebate izvršiti naredbu izbornika “Administracija | Objavljivanje web usluga."

Kao rezultat izvršenja ove naredbe otvorit će se prozor za objavljivanje web usluga.

Prozor za objavljivanje web usluga sadrži put do web poslužitelja i dva popisa:

  • “Web usluge” - popis konfiguracijskih web usluga;
  • “Publikacija” - popis web usluga objavljenih na navedenom web poslužitelju.

Pomoću gumba "Povezivanje..." trebate odrediti web poslužitelj na kojem želite objaviti web usluge.

Prozor za odabir putanje web poslužitelja omogućuje vam da odredite stazu na dva načina:

  • na kartici "Datoteke" - ova metoda se koristi kada se objava izvodi na istom računalu na kojem je instaliran web poslužitelj. Staza je lokalni direktorij koji odgovara internetskoj stranici s koje će biti pozvan objavljeni web poslužitelj;
  • na kartici "FTP stranica" - ova se metoda koristi kada trebate objaviti web uslugu na udaljenom računalu. Za objavu morate navesti parametre FTP veze s udaljenim računalom i direktorij u kojem će web usluga biti objavljena.

Odabrani Web servis objavljuje se pomoću gumba “Objavi”.

Da biste otkazali objavljivanje web usluge, upotrijebite gumb "Izbriši".

Možete objaviti u lokalnom imeniku ili putem FTP-a. Također možete objaviti na udaljenom poslužitelju putem UNC putanje ako je udaljeni poslužitelj dio lokalne mreže.

Nakon objave, web usluga je dostupna na adresi “http://localhost/test.1cws” ili “http://xxx.ru/test.1cws”, gdje je xxx.ru adresa udaljenog poslužitelja i lokalnog hosta je tipična adresa lokalnog poslužitelja.

Autorizacija web usluge 1C

Za pristup usluzi morate proći autentifikaciju.

Pitanja autorizacije dobro su obrađena ovdje: http://www.forum.mista.ru/topic.php?id=341168 i u dokumentaciji file:///c:/Program%20Files/1cv81/AddDoc/RU/V8AddDoc81. htm

Tipično, web usluga radi pod jednim određenim korisnikom (obično posebno kreiranim). Možete "priložiti" 1C korisnika pomoću Windows autentifikacije korisniku Windows IUSR_ (onemogućite 1C autorizaciju za korisnika). Alternativno, možete očistiti popis korisnika 1C, tada autorizacija nije potrebna.

Ako je potrebno nekoliko korisnika, tada možete stvoriti nekoliko prijava za web poslužitelj, dodijeliti Windows korisnika svakom od njih i, sukladno tome, registrirati pristup Windows korisnicima u 1C.

U svojstvima korisnika i lozinke objekta WSProxy ne koristi se prijava 1C, već korisnička prijava web poslužitelja.

Testiranje web usluge 1C

Da biste testirali 1C kao web uslugu, koristite obradu "Test ArbitraryWebService.epf", kao što je opisano u odjeljku "Testiranje pokrenute vanjske web usluge".

Datoteka 1cws je WSDL opis web usluge 1C.

Korištenje usluga u Maloprodaji

Obično se maloprodajne usluge koriste za pružanje raznih usluga stanovništvu - prihvaćanje plaćanja, otplata kredita, novčani transferi, kupnja softver itd.

U ovom slučaju, u 1C se generira potvrda za pruženu uslugu, u kojoj se spremaju parametri transakcije. Nakon čega se ovaj ček ispisuje klijentu s detaljne informacije o pruženoj usluzi. Moguć je i ispis preliminarnog čeka tako da klijent svojim potpisom potvrdi podatke unesene svojim riječima.

Usluga se može na različite načine integrirati u maloprodajni program napisan na 1C jeziku (UT, Retail i drugi):

  1. Obrada ili kod mogu biti napisani u 1C jeziku, koji obavlja sav posao s uslugom.
  2. Može se koristiti program koji radi s uslugom, au 1C prenosi samo informacije za probijanje čekova.

Organizacija servisnih podataka u 1C

Za pohranjivanje podataka o transakciji na računu potrebno je izraditi dodatni tabelarični dio „Složena prodaja” s detaljima:

  • Nomenklatura - poveznica na nomenklaturu čeka.
  • Parametar - poveznica na priručnik "Složena prodaja: parametri".
  • Vrijednost - vrijednost parametra, složeni tip. Predstavljanje niza mora biti prilično dugačko (1024 znaka) da bi se smjestio tekst provjere.

Direktorij "Složena prodaja: parametri" sadrži popis parametara transakcije.

Isplativije je koristiti tablični dio nego skup detalja, jer transakcija ih može imati puno, au drugim provjerama koje nisu vezane uz uslugu ti se podaci neće koristiti i zauzimat će dodatni prostor. Osim toga, takvo je rješenje univerzalno za bilo koju uslugu i ne zahtijeva restrukturiranje podataka nakon implementacije nove usluge.

Prodavatelj dobiva zasebnu knjižnu oznaku (ili ispisani obrazac, kako ne bi mijenjao konfiguraciju), u kojoj može vidjeti pločicu s detaljima transakcije za ček.

Korištenje obrade u 1C jeziku

Pogledajmo primjer Paym uvjetne usluge za konfiguraciju “Retail”.

  1. Kreirajmo unaprijed definirani element imenika nomenklature "Paym" u 1C. U načinu rada 1C:Enterprise, nakon ažuriranja konfiguracije, potrebno mu je dodijeliti vrstu proizvoda "Usluga".
  2. U postupku “Dodaj stavku u tablicu. dio" modula obrasca "Registracija prodaje" nazivamo obrada rada s uslugom, napisana u 1C jeziku. Ako je plaćanje uspješno, bilježimo i knjižimo ček:
If (Nomenclature = Directories.Nomenclature.Paym) AND (Type of Transfer Transaction. Vrste Operations Check KKM. Return) Then Payment Processing = Give External Processing ("Paym");
  1. PaymentForm = PaymentProcessing.GetForm();
  2. Rezultat = PaymentForm.OpenModal();
OtherwiseIf Type of Transfer Transaction.Types of OperationsCheck KKM.Return And Selection.NomenclatureLink = Directories.Nomenclature.Paym Then //Osipov PaymMaster ComplexSales Line = ComplexSales.Find(Directories.ComplexSalesParameters.PaymReceiptText, "Properties");

Ako je složena prodajna linija nedefinirana, tada je naziv proizvoda = skraćeno LP(Složena prodajna linija. vrijednost);

endIf;

Zasebno je pitanje kako osigurati izvršenje transakcije. one. Ako se transakcija dogodila u usluzi, kako se uvjeriti da nije izgubljena u 1C. Najoptimalniji način je usklađivanje registara. Ali ovo je tema za zasebno razmatranje.

Korištenje programa koji se integriraju s 1C

XDTO

XDTO se često koristi u web uslugama. Ovdje su najvažniji savjeti i recepti za korištenje XDTO u 1C.

XDTO u 1C platformi

XDTO paketi, opisani u grani konfiguracije “XDTO objekti”, dostupni su za stvaranje tipova i objekata u globalnoj tvornici XDTO Factory. Ovo nije odmah vidljivo.

Neki tipovi u shemi nemaju naziv, morate proći kroz hijerarhiju tipova.

Primjer opisuje popis sustava koji sadrži XDTO strukture. Da biste kreirali samu strukturu, morali ste dobiti njen tip ovako:

Vrsta = Factory.Type("urn:my.ru:MasterData:Business", "Business").Properties.Get("System").Type;

Uobičajeni problemi s XDTO Različiti formati XSD sheme U nekim formatima oznake se nazivaju xs:, u nekim xsd:, ali 1C sigurno razumije oba formata. Jednom je došlo do situacije u kojoj je XSD uvezen u 1C normalno bez grešaka, ali nije stvorio niti jedan paket. Razlog je bio nedostatak atributa

targetNamespace

na oznaci, prema tome, 1C nije znao u koji paket staviti dijagram, ali nije generirao pogreške.

Servisna podrška

S obzirom da je usluga kombinacija dva sustava - 1C i vanjskog, moguće su greške u oba sustava, što smanjuje ukupnu pouzdanost rada.

Kako bismo lakše razumjeli razloge kvarova usluge, preporuča se korištenje skupa mjera.

  • Zahtjevi za evidentiranje
    • Linkovi
  • XDTO
    • Dobar opis XDTO http://pro1c.org.ua/index.php?showtopic=214
    • Besplatne zanimljive web usluge:
  • Aeroflot - informacije o rasporedu letova
    • Morpher - deklinacija imena http://www.morpher.ru/WebServices/Morpher.aspx
      • Nesastavljeno:
      • Instalacija i korištenje web servisa
      • v8: kako promijeniti apache konfiguracijsku datoteku?
      • Knjiga znanja: v8: Korištenje vanjskih web usluga u 1C:Enterprise 8;

U posljednjih godina Povećalo se korištenje API-ja i oslanjanje na web usluge. Ovdje je popis od 12 alata za testiranje web usluga koji će vam značajno pomoći.

Tijekom posljednjih nekoliko godina, popularnost i korištenje web usluga ili API-ja je poraslo. Web usluga ili API skup je postupaka ili softverskih komponenti koje pomažu aplikaciji komunicirati ili izvršiti neki proces/transakciju stvaranjem veze između druge aplikacije ili poslužitelja. Postoje uglavnom dvije vrste web usluga: REST i SOAP za prijenos podataka i informacija putem internetskog protokola.

Budući da su te web-usluge dostupne na internetu i distribuirane na različitim mrežama, ranjive su na viruse i sigurnosne prijetnje koje utječu na procese koji se na njih oslanjaju. Stoga testiranje web usluga ili API-ja postaje neophodno kako bi se osiguralo da ispravno funkcioniraju i ispravno odgovaraju na zahtjeve. Testiranje softvera je obećavajuće područje u IT području;

Na tržištu postoji nekoliko komercijalnih i besplatnih alata za testiranje kojima se testira njihova povezanost, odziv i izvedba. Ovi alati za testiranje automatiziraju testiranje za određeni scenarij kao što je funkcionalno testiranje, testiranje opterećenja, testiranje performansi itd.

Evo 12 izvrsnih alata za testiranje web usluga koje biste trebali uzeti u obzir za svoje zahtjeve za testiranje API-ja ili web usluga:

SoapUI

SoapUI je alat za testiranje na više platformi otvorenog koda. Može automatizirati funkcionalne, regresijske, dosljedne testove i testove opterećenja SOAP i REST servisa. Jednostavan je za korištenje i podržava napredne tehnologije i standarde za modeliranje i poticanje ponašanja web servisa.

Ključne karakteristike:

  • Omogućuje ispis, izvoz i HTML izvješća na razini Project, TestSuite, TestCase ili LoadTest.
  • Interoperabilnost s Hudson, Bamboo, Maven, ANT i JUnit.
  • Omogućuje vam razvoj vlastitog skupa funkcija u obliku SoapUI dodataka.
  • Bilježi, prati i prikazuje sve podatke.
  • Podržava WS-Security i SSL dešifriranje.

TestingWhiz

TestingWhiz je "bez koda" alat za automatizaciju testiranja koji je kompatibilan s API-jima/web uslugama. Omogućuje vam izvođenje funkcionalnog testiranja, testiranja kompatibilnosti i opterećenja te rad s REST i SOAP web uslugama putem WSDL sučelja preko HTTP-a i FTP-a.

Ključne karakteristike:

  • Podržava usporedbu nizova radi provjere API odgovora.
  • Pomaže u pronalaženju nedostataka API-ja pomoću integriranih alata za praćenje problema kao što su JIRA, Mantis i Fogbugz.
  • Generira vizualne zapisnike i izvješća o testiranju putem e-pošte.
  • Omogućuje kontinuiranu integraciju s Jenkins, Bamboo & Hudson.
  • Podržava testiranje temeljeno na podacima i ključnim riječima.

SOAPSonar

SOAPSonar pruža end-to-end testiranje web usluga za HTML, XML, SOAP, REST i JSON. Omogućuje testiranje funkcionalnosti, performansi, kompatibilnosti i sigurnosti koristeći OASIS i W3C standarde.

Ključne karakteristike:

  • Podržava testiranje ranjivosti XSD mutacije.
  • Pruža sveobuhvatnu analizu WSDL-a i sheme.
  • Izvodi testiranje opterećenja sa simulacijom ponašanja i višestrukim istodobnim procesima opterećenja.
  • Pruža izvješća u XML, DOC, XLS, PDF, RTF i RPT formatima.
  • Surađuje s HP-ovim centrom za kvalitetu.

SOAtest

SOAtest je alat za testiranje i provjeru valjanosti API-ja i aplikacija vođenih API-jem. Pruža robusnu podršku funkcijskih blokova, integraciju, sigurnost, simulaciju, testiranje opterećenja korištenjem tehnologija kao što su REST, JSON, MQ, JMS, TIBCO, HTTP i XML.

Ključne karakteristike:

  • Omogućuje testiranje od kraja do kraja
  • Podržava više od 120 protokola/vrsta poruka.
  • Dolazi sa sučeljem jednostavnim za korištenje.
  • Pomaže vam stvoriti složene, proširive testove koji se mogu ponovno koristiti bez kodiranja.
  • Podržava kontinuirano testiranje integracije

TestMaker

TestMaker je alat otvorenog koda za testiranje i praćenje performansi web usluga i SOA aplikacija pomoću PushtoTesta. Radi na Jythonu (Python napisan u Javi). TestMaker može prenamijeniti Selenium testove, SoapUI testove, Sahi testove ili bilo koje testove napisane u Groovyju, Javi, Pythonu, PHP-u, Rubyju i Perlu u funkcionalne testove opterećenja.

Ključne karakteristike:

  • Koristi prompt naredbenog retka za testiranje funkcionalnosti, opterećenja i performansi.
  • Intuitivno izgled sa standardnim IDE-om s više prozora.
  • Pruža upravljačku ploču za pokretanje testova i prikaz rezultata u stvarnom vremenu.
  • Omogućuje pristup svim Java bibliotekama i klasama Jython jezika.

Poštar

Postman je još jedan alat za testiranje API/web usluga koji ima moćnu podršku za HTTP klijente. Ima alat za izradu upita jednostavan za korištenje koji vam omogućuje pisanje testnih slučajeva i upravljanje podacima o odgovorima i vremenima odgovora za učinkovito testiranje i upravljanje API testnim slučajevima.

Ključne karakteristike:

  • Omogućuje organiziranje API-ja u funkcije koje se nazivaju Postman sklopovi.
  • Olakšava suradnju i dijeljenje API podataka i kontrola.
  • Omogućuje pisanje logičkih testova u sučelju Postman.

vRest

VRest je alat dizajniran za testiranje, benchmarking REST APIS-a i web usluga. Također podržava testiranje web, mobilnih i desktop aplikacija koje su u interakciji s API-jima trećih strana ili HTTP uslugama.

Ključne karakteristike:

  • Ima funkciju lažnog poslužitelja za stvaranje lažnih API-ja u nekoliko minuta.
  • Postoji proširenje za Chrome za snimanje i reprodukciju testnih slučajeva.
  • Podržava integraciju s Jenkinsom za kontinuirani rad poslužitelja i Jirom za praćenje problema.
  • Olakšava upravljanje dopuštenjima.
  • Omogućuje izvoz i uvoz testnih slučajeva i izvješća iz vanjskih alata kao što su Postman Collections, Swagger 2.

HttpMaster

HttpMaster je još jedan ekskluzivni alat za testiranje REST web usluga. Pomaže testerima testirati ponašanje REST API-ja i potvrditi izlaz u formatima kao što su XML, JSON i HTML. Sa svojim univerzalnim HTTP alatom, HttpMaster također pomaže razvojnom programeru da modelira aktivnost klijenta i ponašanje odgovora API aplikacije.

Ključne karakteristike:

  • Ima jednostavno za korištenje i elegantno korisničko sučelje koje ne zahtijeva napredne tehničke vještine.
  • Koristi HTTP metode kao što su GET, POST, DELETE itd.
  • Pruža razne vrste i testne izraze za lakše testiranje.
  • Koristi sučelje naredbenog retka za izradu i pokretanje testa.
  • Omogućuje pohranjivanje svih informacija - API poziva i projektnih podataka na jednom mjestu.

Runscope

Runscope je jednostavan alat za testiranje i praćenje rada API-ja. Runscope također podržava testiranje API-ja i pozadine mobilnih aplikacija.

Ključne karakteristike:

  • Omogućuje vam izradu testova s ​​dinamičkim podacima čak i za složene slučajeve.
  • Prikazuje metriku i analitiku za prepoznavanje problema.
  • Radi s alatima kao što su HipChat, Webhooks, Slack i PagerDuty za obavijest o pogrešci API-ja.
  • Omogućuje ponovnu upotrebu i izvođenje testova na više mjesta.
  • Olakšava centralizirano upravljanje testiranjem za poboljšanu suradnju.

silovanje

Rapise je robustan alat za automatizaciju sa snažnim i proširivim značajkama. Temelji se na otvorenoj i fleksibilnoj arhitekturi za brzo funkcionalno testiranje REST/SOAP web usluga. Rapise također pruža podršku za testiranje web aplikacija ugrađenih u Java, .NET, Ajax, Silverlight i Flash.

Ključne karakteristike:

  • Koristi standardne HTTP metode kao što su POST, GET, PUT i DELETE.
  • Omogućuje pohranjivanje prototipa zahtjeva za određenu web uslugu.
  • Sadrži ugrađeni alat za izgradnju REST definicija i biblioteku objekata.
  • Ima snažne mogućnosti izvješćivanja.
  • Podržava testiranje na više preglednika i paralelno izvođenje.

WebInject

WebInject je besplatni alat za automatizirano funkcionalno, prihvatljivo i regresijsko testiranje web usluga. To je alat naredbenog retka i temelji se na Perlu, što olakšava izvođenje testova budući da nema potrebe trošiti vrijeme na naredbeni redak. Također, nema IDE sučelje, što znači da se testovi pišu eksterno korisničko sučelje WebInject. Može raditi na platformama s Perl tumačem.

Ključne karakteristike:

  • Omogućuje prikaz rezultata u stvarnom vremenu.
  • Prati vrijeme odziva sustava.
  • Podržava različite namjene - i kao potpuna platforma za testiranje i kao samostalni tester.
  • Stvara izvješća u HTML i XML formatima.
  • Omogućuje integraciju s drugim sustavom kao dodatak za vanjski nadzor.

Oluja

Konačno, Storm je još jedan alat otvorenog koda tvrtke CodePlex za testiranje web usluga napisanih u Javi ili .NET-u. Trenutno podržava samo SOAP web uslugu.

Ključne karakteristike:

  • Omogućuje testiranje više web usluga s jednog korisničkog sučelja.
  • Pomaže u uređivanju neobrađenih SOAP zahtjeva.
  • Omogućuje vam referenciranje metoda web usluga koje sadrže složene tipove podataka.
  • Podržava testiranje WCF aplikacija.

Naravno, popis ne završava ovdje, jer postoji ogroman izbor alata za testiranje web usluga.

Prijavite se sada ili zatražite poziv uz besplatne konzultacije!

Danas je rijetkost da moderna aplikacija radi bez API-ja. Ovo vrijedi i za jednostavnu web stranicu i za visoko opterećene distribuirane sustave. API testiranje jedan je od glavnih zadataka u procesu osiguranja kvalitete. Nije iznenađujuće da potražnja za testerima koji znaju testirati API-je raste iz dana u dan. Na ovom tečaju ćete steći razumijevanje metoda, alata i pristupa u API testiranju, steći potrebna znanja, što će nedvojbeno imati pozitivan učinak na vašu vrijednost kao stručnjaka za testiranje.

Ovaj tečaj će biti koristan za studente upoznate s osnovama testiranja softvera koji žele dalje rasti i poboljšati svoje vještine.

Program tečaja:

Lekcija 1. Uvodni. SOAP protokol

  • Ukratko o predavaču;
  • Ciljevi predmeta;
  • Što je API, WS i zašto su potrebni;
  • Uloga API testiranja u procesu osiguranja kvalitete;
  • Pregled alata za testiranje WS-a;
  • Metode korištene u WS testiranju;
  • Povijest SOAP-a;
  • Terminologija i glavni pojmovi (XML, XSD, Endpoint, WSDL).

Lekcija 2: SOAP protokol. REST arhitektura

  • Terminologija i glavni pojmovi (UDDI, XSLT, XPath, XQuery, HTTP metode, HTTP statusi);
  • Struktura i glavne komponente SOAP-a;
  • Opseg primjene;
  • Značajke rada;
  • Prednosti i nedostaci;
  • Značajke REST arhitekture;
  • Terminologija i glavni koncepti (WADL, RESTful, JSON, JSONPath);
  • REST načela;
  • Šifra statusa i glavni statusi;
  • CRUD glagoli;
  • Prednosti i mane.

Lekcija 3. Predstavljanje SoapUI. Rad s REST projektom

  • Java instalacija;
  • Instalacija SoapUI;
  • Pregled glavnih elemenata sučelja;
  • Povezivanje obrazovnog projekta;
  • Pregled projektnih metoda;
  • Slanje zahtjeva i analiza dobivenog odgovora;
  • Proučavanje dostupnih web servisa projekta;
  • Izrada plana ispitivanja;
  • Pisanje testnih slučajeva;
  • Elementi “TestSuite”, “TestCase”, “TestSteps”.

Lekcija 4. Rad s REST projektom (XML)

  • blok “Tvrdnje”;
  • Izvođenje testova na različitim razinama;
  • Element “Svojstva”, glavne mogućnosti;
  • Rad sa svojstvima;
  • Element "Prijenos vlasništva";
  • Rad s tvrdnjama.

Lekcija 5. Rad s REST projektom (JSON)

  • Uvjeti i grane;
  • Rad s tvrdnjama;
  • TestRunner, značajke rada;
  • Pokrenite TS, TC iz naredbenog retka;
  • Rad s Test runner-om;
  • Rad s Groovy skriptama.

Lekcija 6. Rad s Groovy skriptama

  • Rad sa statičkim i dinamičkim podacima;
  • Generiranje testnih podataka;
  • Podatke dobivamo iz “Properties”;
  • Snimanje i prijenos podataka;
  • Uvjeti i grane;
  • Skriptna tvrdnja.

Lekcija 7. Dodatne značajke

  • Povezivanje vanjskih knjižnica i prilagođenih klasa;
  • Lažne usluge;
  • Zašto su nam potrebne Mock usluge?
  • Primjer rada s Mock servisom;
  • Što je s CI?
  • Instalirajte Jenkins;
  • Pokretanje projekta o Jenkinsu.