Dynaamisten arvojen käsittely (korrelaatio)
Opettele poimimaan ja käyttämään palvelimen vastauksista saatavia dynaamisia arvoja uudelleen Regular Expression Extractors -komponenttien avulla.
Dynaamisten arvojen käsittely (korrelaatio) on ilmainen Kuormitustestaus ja suorituskyvyn vertailumittaus (JMeter ja k6)-oppitunti CoddyKitissä. Tämä on oppitunti 2/4. Voit lukea tästä oppimispolusta kokonaan mitkä tahansa 3 oppituntia ilmaiseksi — sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä käytännön harjoittelun sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Oppitunti kuuluu Kuormitustestaus ja suorituskyvyn vertailumittaus (JMeter ja k6)-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Kuormitustestaus ja suorituskyvyn vertailumittaus (JMeter ja k6)-kurssilla on yhteensä 4 oppituntia.
Dynaamiset arvot
Kun käytätte verkkosovellusta, monet palvelimen vastauksissa olevat arvot eivät ole staattisia. Näitä kutsutaan dynaamisiksi arvoiksi.
Ne muuttuvat käyttäjän, istunnon tai jopa jokaisen pyynnön mukaan. Voitte ajatella niitä väliaikaisina avaimina, joita palvelin antaa teille.
- Istuntotunnisteet
- Todennustunnukset
- CSRF-tunnukset
Miksi korrelaatio on tärkeää
Jos suorituskykytesti vain tallentaa pyynnöt ja toistaa ne, se epäonnistuu usein. Miksi?
Tallennetut pyynnöt sisältävät vanhoja ja virheellisiä dynaamisia arvoja. Palvelin hylkää ne, koska se olettaa, ettette ole oikea käyttäjä tai istunto.
Korrelaatio tarkoittaa dynaamisten arvojen poimimista yhdestä vastauksesta ja niiden uudelleenkäyttöä myöhemmissä pyynnöissä.
Tutustu Regex Extractor -elementtiin
JMeter tarjoaa tehokkaan työkalun dynaamisten arvojen käsittelyyn: Regular Expression Extractor -elementin.
Tämä Post-Processor-komponentti mahdollistaa hakukuvion eli säännöllisen lausekkeen määrittämisen. Sen avulla palvelimen vastauksesta voidaan etsiä ja poimia tiettyjä tietoja.
Voitte ajatella, että käskette JMeteriä: "Etsi tämä kuvio ja poimi kaikki näiden sulkeiden sisältä!"
Miten poiminta toimii
Regular Expression Extractor -elementin käytön perusvaiheet ovat seuraavat:
- Lähetä pyyntö: JMeterin Sampler-elementti lähettää pyynnön palvelimelle.
- Vastaanota vastaus: Palvelin lähettää vastauksen, joka sisältää dynaamisen arvon.
- Poimi arvo: Regular Expression Extractor etsii vastauksesta määrittämääsi kuviota.
- Tallenna arvo: Elementti poimii dynaamisen tiedon ja tallentaa sen JMeter-muuttujaan.
- Käytä arvoa uudelleen: Käytätte tätä muuttujaa myöhemmissä pyynnöissä.
Regex-perusteet poimintaa varten
Regular Expression (Regex) on merkkijono, joka määrittää hakukuvion. Poiminnassa käytetään usein seuraavia merkkejä:
.(piste): vastaa mitä tahansa yksittäistä merkkiä.*(tähti): vastaa edeltävän merkin nolla kertaa tai useampaa esiintymää.?(kysymysmerkki): tekee edeltävästä kvanttorista, kuten merkistä*, ei-ahneen, jolloin se vastaa mahdollisimman lyhyttä merkkijonoa.()(sulkeet): niitä käytetään poimittavan merkkijonon osan tallentamiseen.
Kokeilkaa suorittaa tämä yksinkertainen JavaScript-esimerkki nähdäksenne regexin toiminnassa:
function extractId(text) {
// Regex to find "id=" followed by one or more digits
// and capture the digits.
const regex = /id=(\d+)/;
const match = text.match(regex);
return match ? match[1] : null;
}
console.log("Extracted ID:", extractId("user?id=123&name=test"));
console.log("Extracted ID:", extractId("product?id=456"));
console.log("Extracted ID:", extractId("no_id_here"));Extractor-elementin lisääminen
JMeterissä Regular Expression Extractor on Post-Processor. Tämä tarkoittaa, että se suoritetaan sen jälkeen, kun Sampler-elementti eli pyyntö on suoritettu, mutta ennen tulosten tallentamista.
Voitte lisätä sen seuraavasti:
- Napsauttakaa hiiren kakkospainikkeella HTTP Request -elementtiä tai muuta Sampler-elementtiä, joka vastaanottaa dynaamisen arvon.
- Valitkaa Add > Post-Processors > Regular Expression Extractor.
Siitä tulee kyseisen pyynnön alielementti.
Extractor-elementin määritys
Regular Expression Extractor -elementissä on useita tärkeitä kenttiä:
- Reference Name: JMeter-muuttujan nimi, johon poimittu arvo tallennetaan (esimerkiksi
sessionId). - Regular Expression: käytettävä regex-kuvio (esimerkiksi
name="sessionId" value="(.+?)"). - Template: tapa, jolla arvo muodostetaan. Käyttäkää ensimmäisestä siepatusta ryhmästä merkintää
$1$, toisesta merkintää$2$ja niin edelleen. - Match No.: Jos osumia on useita, tällä määritetään käytettävä osuma. Arvo
0tarkoittaa satunnaista osumaa,1ensimmäistä ja-1kaikkia osumia (luo useita muuttujia). - Default Value: arvo, joka määritetään, jos regex ei löydä osumaa.
Poimitun muuttujan käyttäminen
Kun Regular Expression Extractor on tallentanut arvon muuttujaan (esimerkiksi sessionId), voitte käyttää sitä missä tahansa seuraavassa JMeterin Sampler-elementissä tai komponentissa.
Viitatkaa muuttujaan syntaksilla ${ReferenceName}.
Jos esimerkiksi poimitte istuntotunnisteen muuttujaan sessionId, voitte käyttää arvoa ${sessionId} seuraavan pyynnön rungossa tai URL-polussa.
Korrelaatioesimerkki
Tarkastellaan kirjautumisen vaiheita:
- Pyyntö 1 (Login): lähettää käyttäjänimen ja salasanan.
- Vastaus 1: sisältää piilotetussa kentässä arvon
CSRF_Token. - Regex Extractor: poimii arvon
CSRF_Tokenvastauksesta 1 ja tallentaa sen muuttujaan${csrfToken}. - Pyyntö 2 (Submit Form): käyttää arvoa
${csrfToken}pyynnön rungossa tai URL-parametreissa.
Näin testiskripti toimii oikean käyttäjän tavoin ja välittää dynaamisen tunnuksen.
Testaa regex-osaamisesi
Oletetaan, että palvelimen vastaus sisältää seuraavan HTML-koodinpätkän:
<input type="hidden" name="token" value="abc123xyz456" />Haluatte poimia arvon abc123xyz456 JMeter-muuttujaan nimeltä authToken.
Mitä Regular Expression- ja Template-yhdistelmää kannattaa käyttää Regular Expression Extractor -elementissä?
Kertaus: korrelaation hallinta
Hienoa työtä! Olette oppineet JMeterin tärkeän korrelaatiotaidon.
- Dynaamiset arvot vaativat erityiskäsittelyä testien epäonnistumisen estämiseksi.
- Regular Expression Extractor on JMeterin ensisijainen työkalu tähän.
- Määritätte regex-kuvion tiettyjen tietojen poimimiseksi palvelimen vastauksista.
- Poimitut arvot tallennetaan JMeter-muuttujiin myöhempää käyttöä varten.
Tämä tekniikka tekee suorituskykytesteistä luotettavia ja realistisia. Seuraavaksi tutustumme muihin JMeter-funktioihin ja -muuttujiin, joiden avulla skripteistä voidaan tehdä vielä joustavampia.
Opi Kuormitustestaus ja suorituskyvyn vertailumittaus (JMeter ja k6) tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 12
- Oppitunnit
- 48
Usein kysytyt kysymykset
Onko oppitunti ”Dynaamisten arvojen käsittely (korrelaatio)” ilmainen?
Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa Kuormitustestaus ja suorituskyvyn vertailumittaus (JMeter ja k6)-oppimispolun 3 oppituntia, myös oppitunnin “Dynaamisten arvojen käsittely (korrelaatio)”. Sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä interaktiiviset harjoitukset sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Kuormitustestaus ja suorituskyvyn vertailumittaus (JMeter ja k6)-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”Dynaamisten arvojen käsittely (korrelaatio)”?
Opettele poimimaan ja käyttämään palvelimen vastauksista saatavia dynaamisia arvoja uudelleen Regular Expression Extractors -komponenttien avulla. Harjoittelet Kuormitustestaus ja suorituskyvyn vertailumittaus (JMeter ja k6)-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Kuormitustestaus ja suorituskyvyn vertailumittaus (JMeter ja k6)-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Kuormitustestaus ja suorituskyvyn vertailumittaus (JMeter ja k6)-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 2/4.
Kuinka kauan ”Dynaamisten arvojen käsittely (korrelaatio)”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä Kuormitustestaus ja suorituskyvyn vertailumittaus (JMeter ja k6)-oppitunnilla?
Kyllä. Jokainen Kuormitustestaus ja suorituskyvyn vertailumittaus (JMeter ja k6)-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- Parametrisointi CSV-tiedoilla
- Dynaamisten arvojen käsittely (korrelaatio)
- JMeter-funktiot ja muuttujat
- Tietokantojen testaus JDBC:llä