Gbigba - Bii o ṣe le Firanṣẹ Ibere ​​Ifiranṣẹ ni StringBody () Pẹlu Data ID

Ninu ẹkọ Gatling yii, a fihan bi t firanṣẹ awọn ibeere ifiweranṣẹ eyiti o ni data laileto ninu StringBody().

Ninu ọpọlọpọ awọn oju iṣẹlẹ idanwo iṣẹ, o fẹ sọtọ data ti a firanṣẹ bi ibeere ifiweranṣẹ lati ṣedasilẹ awọn akoko oriṣiriṣi. Fun eyi, a le lo awọn ifunni ti o ka data lati awọn faili CSV tabi ọrọ lasan.

Ti o ko ba ṣeto Gatling lori ẹrọ rẹ sibẹsibẹ, o le ka ifiweranṣẹ ti o ṣalaye bii o ṣe le ṣeto Gatling bi iṣẹ akanṣe Maven.


Scala Generator String Generator

Ni akọkọ, a nilo ọna kan eyiti o ṣe agbejade okun laileto ni Scala:

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

Ibeere XML bi Ara Ara

Ninu apẹẹrẹ yii, a n firanṣẹ ifiweranṣẹ ifiweranṣẹ XML kan. Eyi ni paramita log_session_id eyiti o nilo lati yatọ si ni ibeere kọọkan:


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

A nilo lati ni ọna ti fifiranṣẹ ibeere XML ti o wa loke bi ifiweranṣẹ ninu StringBody() ni Gatling, ṣugbọn ninu ibeere kọọkan, awọn log_session_id iye yẹ ki o jẹ okun laileto.

Fun eyi, a nilo lati lo awọn ifunni.

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

Iwe afọwọkọ kikun lati firanṣẹ ibeere ifiweranṣẹ laileto ni StringBody() ni 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) }