Visual Studio Web Testidel QueryStringi parameetrite extractimine

by melborp 30. oktoober 2008 23:04

Ma olen alates Visual Studio 2008 välja tulemise ajast tegelenud ka Visual Studio Web Testidega, mis on kasulikud veebilehe kasutajapoolseks usecase -i testimiseks (ehk siis minek lehele ja vaadata, kas tuleb vastu lehekülg/vastus, mis on aktsepteeritav).

Visual Studio Web Testid on HTTP kihil toimivad testid, mis võimaldavad teha päringuid (GET, POST) kindla veebisaidi vastu. Visual Studio -l on Web Testide kirjeldamise abistamiseks loodud salvestaja (WebTest Recorder), mis jookseb IE -s ja võimaldab salvestada kõik Requestid. Web Teste on võimalik peale salvestamist korduvalt jooksutada. Web Teste saab ka kasutada Visual Studio Load Testide juures ja teha koormusteste veebirakendusele, pannes Web Testid jooksma kuni 1000 kasutaja alt samaaegselt ja jälgides serveri performance countereid ning tracida SQL -i andmebaasi käitumist.

Aga mu postituse eesmärk ei ole hetkel jagada teiega detailset informatsiooni Web Testide või Load Testide kohta. Kui suurt huvi üles näidatakse, siis heameelega teen ka seda. Seni leiate aga lisainfot järgnevatelt aadressidelt:

Hetkel soovin teiega hoopis jagada ühte hästi lihtsalt lisa (ExtractionRule -i), millest kohe alguses puudust tundsin ja vajalikuks pidasin. Nimelt üks elementaarne asi, mida Web Testide kasutaja võiks soovida on see, et eelmise requesti querystringist võtta parameetrite väärtusi ja kasutada järgmistes requestides. Kujutage ette olukorda, kus teil on uue itemi lisamise vorm ja peale submit vajutamist luuakse item ning suunatakse uuele lehele, millel on urli parameetrite hulgaks ka uue Itemi ID. Te soovite ju, et uue itemi lisamist testides, teil oleks dünaamiliselt tekkinud ID -d kasutusel (te ei saa seda ette spetsifitseerida).

Selleks, et eelnevalt requestilt järgneva jaoks midagi korjata ongi olemas ExtractionRule -d, mida võib igaüks endale alati luua. Mina tegin endale QueryString -ist kindla parameetri extractija :)

ExtractionRule -i kood asub siin.

Peate antud koodi lisama oma Web Testide projekti või siis eraldi class library -sse ning peale build -imist saate lisada requestile extraction rule.

image

Antud Extraction Rule -l on olemas kaks parameetrit - üks contextis hoidmise nimetus (see millega teie järgmistes requestides väärtusele ligi lähete) ning urli parameetri nimetus.

image Kõrval järgneb siis illustreeriv näide insert ja View requesti kohta, kus Inserti requestilt extractitakse ID parameeter. Kusjuures, te ei näe seda ID parameetrit antud insert.aspx -i QueryString loetelus, kuna tegu on postitamise päringuga ja tulemusena suunatakse uuele vormile (Response.Redirect), milleks on View.aspx ja sellel on urlis parameeter ID. Meie soovime järgmisel requestil seda ära kasutada (PS! Antud näite requesti QueryString, Form Post parameetrid on fiktiivsed).

Web Testidele on võimalik luua mitmel erineval tasemel laiendusi - WebTestPlugin (testi tase), WebTestRequestPlugin (requesti tase), ExtractionRule, ValidationRule (WebTest -i tulemuse valideerimine). Nende implementeerimine ei ole tihti peale raske ja on päris võimsad vahendid oma soovide saavutamisel.

Tags:

Visual Studio 2008 | VS Tests

Lisa kommentaar




  Country flag

biuquote
  • Kommentaar
  • Preview
Loading



Autorist

Taavi Kõosaar

 Tere, olete sattunud mu blogi peale. Olen Taavi Kõosaar - tarkvara arendaja, arhitekt ja konsultant keskendudes arendamisele .NET -i platvormil. Hetkel asun peamiselt Rootsis, kus töötan Süsteemi Arhitektina toote/teenuse arendamisel, mida kasutatakse üle Euroopa. Lisaks tööle blogin, kirjutan artikleid, pean loenguid, treeninguid, reisin, loen raamatuid, sukeldun, teen sporti, fotografeerin, osalen Eesti arendajate kommuunis ...

Siit leiate minu mõtisklused ja seiklused tarkvara arendamisega, .NET -ga ja Team Systemiga.

Kalender

<<  september 2010  >>
estekonerela
303112345
6789101112
13141516171819
20212223242526
27282930123
45678910

View posts in large calendar

Liikmelisus

www.eneta.ee

Team System MVP

Tutvu minu LinkedIn profiiliga

Minu Eneta profiil

Lugejatest

Kaart:

Lugejad:

Hetkel lehel:

hit counters

Külastajaid:

Disclaimer
The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.

Siin toodud arvamuseid saab käsitleda vaid kui minu isiklike arvamusi, need ei kajast vähimalgi kombel ühegi minu tööandja arvamusi ja nägemusi.

© Copyright 2010 Melborp.NET