Ukudibana-Ungasithumela njani isicelo sePosti kwiStringBody () ngeDatha engaQhelekanga

Kule tutorial yeGatling, sibonisa ukuba sizithumela njani izicelo zeposi ezinedatha engahleliwe kwi StringBody().

Kwiimeko ezininzi zokuvavanywa kokusebenza, ufuna ukwenza idatha ngokungafaniyo ithunyelwe njengesicelo seposi ukuze ulinganise iiseshoni ezahlukeneyo. Ngale nto, sinokusebenzisa ii-feeders ezifunda idatha kwiifayile ze-CSV okanye isicatshulwa esicacileyo.

Ukuba awukaseti iGatling kumatshini wakho okwangoku, ungafunda iposti echazayo uyiseta njani iGatling njengeprojekthi yeMaven.


I-Scala Random String Generator

Okokuqala, sifuna indlela evelisa umtya ongacwangciswanga eScala:

object randomStringGenerator { def randomString(length: Int) = scala.util.Random.alphanumeric.filter(_.isLetter).take(length).mkString
}

Isicelo seXML njengoMzimba wePosi

Kulo mzekelo, sithumela isicelo seposi seXML. Oku kubandakanya i-log_session_id parameter efuna ukwahluka kwisicelo ngasinye:


val req = ' ' + ' ' +
'3 ' +
'MY_APP ' +
'0000000000 ' +
'b02edd23,ClientIP=10.211.55.3 ' +
'ACTIVATION ' + ''

Kufuneka sibe nendlela yokuthumela esi sicelo singasentla seXML njengesithuba kwi StringBody() kwiGatling, kodwa kwisicelo ngasinye, log_session_id Ixabiso kufuneka libe ngumtya ongacwangciswanga.



Ukwenza oku, kufuneka sisebenzise ii-feeders.

Isondli kwiStringBody ()

var randomSession = Iterator.continually(Map('randsession' -> ( req.replace('0000000000', randomStringGenerator.randomString(10))))) val scn = scenario('Activate')
.feed(randomSession)
.exec(http('activate request')
.post('/login/activate')
.body(StringBody('''${randsession}'''))

Iskripthi esipheleleyo sokuthumela isicelo esithunyelwe ngeposi | | + _ | ku Gatling:

StringBody()