PyUseCase

Sagteware kiekie:
PyUseCase
Sagteware besonderhede:
Weergawe: 3.5.1
Upload datum: 11 May 15
Ontwikkelaar: Geoff Bache
Lisensie: Gratis
Populariteit: 8

Rating: nan/5 (Total Votes: 0)

PyUseCase is 'n GUI toets sagteware vir PyGTK.
Houdbaar GUI toets met 'n Use Case Recorder
Die opname van die bedoeling eerder as die meganika
Die mees natuurlike manier om toetse te skep deur 'n gebruikerskoppelvlak is eenvoudig uit te voer die aksies wat jy wil om te presteer en het 'n instrument wat hulle kan teken en dan later weergee. Dit is 'n eenvoudige en vinnige manier om GUI toetse te skep, en daar bestaan ​​baie instrumente wat dit doen.
Die meeste gereedskap egpaar die toetse styf om die GUI
Die probleme begin wanneer jy 'n paar toetse en jou GUI veranderinge. Opname kan 'n goeie manier om toetse te skep, maar dit is 'n verskriklike manier om groot getalle van hulle handhaaf. Dit is fout sensitiewe, frustrerend en baie tydrowend wanneer jy 'n paar toetse. Die eerste generasie van gereedskap aangeteken pixel posisies en breek so gou as jy jou skerm resolusie verander. Gereedskap deal vandag se in terme van die GUI meganika: vind 'n tafel met 'n sekere naam en klik in die derde kolom van die vierde ry. Hulle kan die skerm veranderinge en klein re-reëlings van die GUI oorleef, maar nie veel anders nie. Die aangeteken skrifte is dig en nie die doel van die toets nie oor te dra en is 'n geslote boek aan alle nie-tegniese mense (en soms om almal behalwe die skrywer van die instrument).
Die probleem is in wese een van koppeling. Die toetse en die GUI is styf gekoppel aan mekaar en kan nie gemaklik wissel onafhanklik van mekaar. Hierdie punt word ook gemaak deur Robert C. Martin in sy blog hier en sy gevolgtrekking is dat GUI toets is inherent broos en moet jy so min van dit te doen as wat jy kan wegkom met.
Dit lyk eerder pessimistiese though. Daar is 'n groot waarde in staat is om aan te toon wat jou toetse te doen om 'n gebruiker van die stelsel. As die toetse omseil die gebruikerskoppelvlak dan dat die proses vereis 'n billike bedrag van tegniese vaardigheid en 'n baie vertroue van die deel van jou gebruiker. En in elk geval, sagteware-ontwikkelaars te los koppeling probleme al die tyd. Die antwoord is, soos gewoonlik, na 'n ander vlak van indirection stel.
Breek die koppeling met 'n UI kaart
Sakelui en gebruikers oor die algemeen werk in gebruik gevalle. Dit is 'n hoë-vlak beskrywings van 'n reeks van aksies in 'n taal wat hulle verstaan: naamlik dat van die domein. Die idee van 'n "Use Case Recorder" is dus 'n instrument wat kan rekord en speel soos rye en sodoende die bedoeling van die gebruiker te vang. Dit sal dan toelaat dat verhoogde begrip, minder afhanklikheid van die presiese vorm van die GUI en makliker aanpassing van bestaande toetse sonder om al die knoppies weer.
Die basiese meganisme is dat ons handhaaf 'n kartering tussen die aksies wat tans uitgevoer kan word met ons GUI en state in hierdie domein taal. GUI veranderinge dan beteken dat hierdie enkele kartering moet opgedateer, maar die toetse kan onaangeraak bly, gaan voort om te beskryf wat gedoen moet word oor die konseptuele vlak nodig het. Dit kartering neem die vorm van 'n eksterne lêer in PyUseCase 3,0 en die komende JUseCase 3,0, terwyl dit in die ouer weergawes wat dit neem die vorm van instrumentasie in die program kode.
Nagaan van die gedrag via logs en TextTest
So ons gebruik-geval blokfluit kan rekord en speel usecases vir ons. Maar hoe kan ons seker maak dat dit wat ons sien op die skerm is korrek? Die meeste GUI gereedskap doen dit deur sodat die toets script na "bewerings", wat lyk 'n paar widget en seker te maak dat 'n paar goed van dit is gelyk aan 'n hardcoded waarde bevat. Dit skep nog meer afhanklikheid van die huidige GUI uitleg en kan nie "aangeteken" in enige natuurlike manier, maar moet geprogrammeer in na die feit. Nee "usecase" sou natuurlik bevat hierdie inligting: as dit het dit sou draai in 'n toets script.
Hierdie bespreking is nie op die TextTest site vir niks. As ons net kan kry ons aansoek om 'n teken van wat die GUI lyk of ons kan kyk wat dit doen deur die monitering van die inhoud van daardie log behulp TextTest te produseer. PyUseCase 3,0 doen dit vir jou: dit genereer 'n ASCII-kuns tipe log van die huidige GUI voorkoms en monitor die veranderinge om dit te. Die aansoek kan vul met sy eie aan te meld as dit wil. Met ander gebruik-geval opnemers moet die aansoek om sy eie log te bou vir hierdie doel tans.
Synchronising toetse deur die kode instrumentasie
Byna al die GUI toets pogings word geteister deur probleme met die maak seker dat die script wag lank genoeg voor proses wanneer iets gebeur in die agtergrond. Die oplossings wissel van arcane maniere om te wag vir 'n paar widget om 'n sekere voorkoms (nog meer afhanklikhede op GUI-meganika) moet "slaap" state liberale rondom gestrooi. Wat misluk wanneer die stelsel gelaai en veroorsaak dat die toetse om baie stadiger as wat hulle andersins sou loop. Enigiemand sonder intieme kennis van die kode is swak toegerus om sulke probleme op te los, maar om dit te doen, is 'n belangrike deel van die skryf van toetse.
Gebruik geval Branders stel die konsep van 'n "Aansoek Event". Dit is basies 'n instrumentasie in die kode wat dui op die gebruik-geval blokfluit dat iets gebeur het wat moet wag vir, waardeur die blokfluit aan te teken en herhaling wag asook klik. Dit is beskryf in meer detail hier.
Recording makros asook toetse
Hoë-vlak, maklik gemanipuleer "usecases" is nuttig vir ander dinge as die toets. Hulle is ook baie nuttig vir die gebruikers van die stelsel wat hulle eie makros kan skep vir rye van aksies wat hulle gereeld te voer.
Dit is bekend as "GUI kortpaaie" hier. A Gebruik geval blokfluit sal tipies toelaat dat 'n aansoek om 'n versoek "nutsbalk" daaruit wat kontroles vir opname en die speel van hulle wat soos verlang kan word opgeneem in die aansoek GUI bevat. Behalwe sodat gebruikers makros te skep, kan hulle ook gebruik word om selfs 'n hoër vlak abstraksies te skep vir die "toets taal" hierbo beskryf, ondersteuning testers in die uitvoering van herhaalde aksies om 'n sekere skerm bereik vir die toets. Dit is beskryf in meer detail hier.
Meer inligting kan gevind word op die projek se tuisblad

Wat is nuut in hierdie release:.

  • Baie basiese ondersteuning vir wxPython was bygevoeg.
  • Daar is ook 'n aantal verbeterings en bugfixes vir PyGTK. Veral, is gtk.Dialog.run nou ondersteun sonder dat die bron-kode verander.
  • Python 2,6 en PyGTK 2,12 of later is nou nodig.
  • Die nalatenskap-instrumentasie based koppelvlak is verwyder.

Vereistes :

  • Python
  • PyGTK
  • TextTest

Soortgelyke sagteware

lava-test
lava-test

20 Feb 15

vncdotool
vncdotool

12 May 15

pinocchio
pinocchio

14 Apr 15

tdaemon
tdaemon

11 May 15

Ander sagteware ontwikkelaar Geoff Bache

TextTest
TextTest

18 Jul 15

Kommentaar te PyUseCase

Kommentaar nie gevind
Kommentaar te lewer
Draai op die foto!