Ciki - Yadda Ake Aika Takardar Aika a StringBody () Tare Da Bazuwar Bayani

A cikin wannan koyarwar ta Gatling, muna nuna yadda t aika buƙatun gidan waya waɗanda ke ƙunshe da bazuwar bayanai a cikin StringBody().

A mafi yawan yanayin yanayin gwajin gwaji, kuna son rarraba bayanan da aka aiko azaman buƙata na post don daidaita zaman daban. Don wannan, zamu iya yin amfani da feeders wanda ke karanta bayanai daga fayilolin CSV ko rubutu bayyananne.

Idan baku saitin Gatling akan injin ku ba tukuna, zaku iya karanta post ɗin da yayi bayani yadda ake saita Gatling azaman aikin Maven.


Scala Random String Generator

Da farko, muna buƙatar hanyar da ke haifar da bazuwar Scala:

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

Neman XML a Matsayin Jiki

A cikin wannan misalin, muna aika da buƙatar aikawa ta XML. Wannan yana ƙunshe da saitin log_session_id wanda yake buƙatar bambanta a kowace buƙata:


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

Muna buƙatar samun hanyar aika buƙatun XML na sama azaman matsayi a cikin StringBody() a cikin Gatling, amma a kowace buƙata, da log_session_id ƙimar ya zama bazuwar bazuwar

Don wannan, muna buƙatar yin amfani da masu ciyarwa.

Ciyarwa a cikin 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}'''))

Cikakken rubutun don aika aika aika aika cikin StringBody() a cikin 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) }