Gatling - Faʻafefea ona lafoina Talosaga Talosaga i StringBody () Ma Faʻatusatusaga Faʻamatalaga

I le Gatling tutorial lea, matou te faʻaalia ai le lafoina atu o ni faʻatonuga o loʻo iai ni faʻamatalaga i le StringBody().

I le tele o faʻataʻitaʻiga o faʻataʻitaʻiga vaʻaiga, e te manaʻo e faʻasolosolo faʻamatalaga na lafoina e avea ma faʻailoga talosaga e faʻataʻitaʻi ai vasega eseese. Mo lenei, e mafai ona tatou faʻaaogaina le fafaga e faitau faʻamaumauga mai CSV faila poʻo tusitusiga faigofie.

Afai e te leʻi setiina Gatling luga o lau masini, oe mafai ona faitau le faʻailoga e faʻamatala ai faʻafefea ona setiina Gatling o se Maven poloketi.


Scala Random String Generator

Muamua, matou te manaʻomia se metotia e gaosia ai se manoa soʻonaʻo i Scala:

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

XML Talosaga o le Post Body

I lenei faʻataʻitaʻiga, o loʻo matou lafoina le XML post talosaga. Lenei aofia ai se log_session_id parameter e manaʻomia e 'eseʻese i talosaga taʻitasi:


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

E manaʻomia e i matou se auala e lafo atu ai le XML talosaga luga e avea o se pou i le StringBody() i Gatling, peitaʻi i talosaga taʻitasi, o le log_session_id taua tatau ona avea ma se laina filifili.

Mo lenei, tatou manaʻomia le faʻaaogaina o fafaga.

Fafagaina i StringBody ()

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}'''))

O le atoaga tusitusiga e lafo ai soo se mea lafo i le StringBody() i Gatling:

import io.gatling.core.Predef._ import io.gatling.http.Predef._ import io.gatling.http.config.HttpProtocolBuilder.toHttpProtocol import io.gatling.http.request.builder.HttpRequestBuilder.toActionBuilder class Activate extends Simulation { object randomStringGenerator {
def randomString(length: Int) = scala.util.Random.alphanumeric.filter(_.isLetter).take(length).mkString } val req = ' ' +
' ' +
'3 ' +
'MY_APP ' +
'0000000000 ' +
'b02edd23,ClientIP=10.211.55.3 ' +
'ACTIVATION ' +
'' var randomSession = Iterator.continually(Map('randsession' -> ( req.replace('0000000000', randomStringGenerator.randomString(10))))) val httpConf = http
.baseURL('http://localhost:5000')
.acceptHeader('text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8')
.userAgentHeader('Mozilla/4.0(compatible;IE;GACv10. 0. 0. 1)') val scn = scenario('Activate')
.feed(randomSession)
.exec(http('activate request')
.post('/login/activate')
.body(StringBody('''${randsession}'''))
.check(status.is(200)))
.pause(5) setUp(
scn.inject(atOnceUsers(5)) ).protocols(httpConf) }