ಈ ಗ್ಯಾಟ್ಲಿಂಗ್ ಟ್ಯುಟೋರಿಯಲ್ ನಲ್ಲಿ, StringBody()
ನಲ್ಲಿ ಯಾದೃಚ್ data ಿಕ ಡೇಟಾವನ್ನು ಹೊಂದಿರುವ ಪೋಸ್ಟ್ ವಿನಂತಿಗಳನ್ನು ಹೇಗೆ ಕಳುಹಿಸಬಾರದು ಎಂದು ನಾವು ತೋರಿಸುತ್ತೇವೆ.
ಹೆಚ್ಚಿನ ಕಾರ್ಯಕ್ಷಮತೆ ಪರೀಕ್ಷಾ ಸನ್ನಿವೇಶಗಳಲ್ಲಿ, ವಿಭಿನ್ನ ಸೆಷನ್ಗಳನ್ನು ಅನುಕರಿಸಲು ಪೋಸ್ಟ್ ವಿನಂತಿಯಾಗಿ ಕಳುಹಿಸಲಾದ ಡೇಟಾವನ್ನು ನೀವು ಯಾದೃಚ್ ize ಿಕಗೊಳಿಸಲು ಬಯಸುತ್ತೀರಿ. ಇದಕ್ಕಾಗಿ, ಸಿಎಸ್ವಿ ಫೈಲ್ಗಳು ಅಥವಾ ಸರಳ ಪಠ್ಯದಿಂದ ಡೇಟಾವನ್ನು ಓದುವ ಫೀಡರ್ಗಳನ್ನು ನಾವು ಬಳಸಿಕೊಳ್ಳಬಹುದು.
ನಿಮ್ಮ ಯಂತ್ರದಲ್ಲಿ ನೀವು ಇನ್ನೂ ಗ್ಯಾಟ್ಲಿಂಗ್ ಅನ್ನು ಹೊಂದಿಸದಿದ್ದರೆ, ವಿವರಿಸುವ ಪೋಸ್ಟ್ ಅನ್ನು ನೀವು ಓದಬಹುದು ಗ್ಯಾಟ್ಲಿಂಗ್ ಅನ್ನು ಮಾವೆನ್ ಯೋಜನೆಯಾಗಿ ಹೇಗೆ ಹೊಂದಿಸುವುದು.
ಮೊದಲಿಗೆ, ಸ್ಕಲಾದಲ್ಲಿ ಯಾದೃಚ್ string ಿಕ ಸ್ಟ್ರಿಂಗ್ ಅನ್ನು ಉತ್ಪಾದಿಸುವ ಒಂದು ವಿಧಾನ ನಮಗೆ ಬೇಕು:
object randomStringGenerator { def randomString(length: Int) = scala.util.Random.alphanumeric.filter(_.isLetter).take(length).mkString
}
ಈ ಉದಾಹರಣೆಯಲ್ಲಿ, ನಾವು XML ಪೋಸ್ಟ್ ವಿನಂತಿಯನ್ನು ಕಳುಹಿಸುತ್ತಿದ್ದೇವೆ. ಇದು ಪ್ರತಿ ವಿನಂತಿಯಲ್ಲೂ ವಿಭಿನ್ನವಾಗಿರಬೇಕಾದ ಲಾಗ್_ಸೆಷನ್_ಐಡಿ ನಿಯತಾಂಕವನ್ನು ಒಳಗೊಂಡಿದೆ:
val req = '
' + '
' +
'3
' +
'MY_APP
' +
'0000000000
' +
'b02edd23,ClientIP=10.211.55.3
' +
'ACTIVATION
' + ''
ಮೇಲಿನ XML ವಿನಂತಿಯನ್ನು StringBody()
ನಲ್ಲಿ ಪೋಸ್ಟ್ ಆಗಿ ಕಳುಹಿಸುವ ಮಾರ್ಗವನ್ನು ನಾವು ಹೊಂದಿರಬೇಕು ಗ್ಯಾಟ್ಲಿಂಗ್ನಲ್ಲಿ, ಆದರೆ ಪ್ರತಿ ವಿನಂತಿಯಲ್ಲಿ, | _ + + | ಮೌಲ್ಯವು ಯಾದೃಚ್ string ಿಕ ಸ್ಟ್ರಿಂಗ್ ಆಗಿರಬೇಕು.
ಇದಕ್ಕಾಗಿ, ನಾವು ಫೀಡರ್ಗಳನ್ನು ಬಳಸಬೇಕಾಗಿದೆ.
log_session_id
var randomSession = Iterator.continually(Map('randsession' -> ( req.replace('0000000000', randomStringGenerator.randomString(10))))) val scn = scenario('Activate')
ನಲ್ಲಿ ಯಾದೃಚ್ post ಿಕ ಪೋಸ್ಟ್ ವಿನಂತಿಯನ್ನು ಕಳುಹಿಸಲು ಪೂರ್ಣ ಸ್ಕ್ರಿಪ್ಟ್ ಗ್ಯಾಟ್ಲಿಂಗ್ನಲ್ಲಿ:
.feed(randomSession)
.exec(http('activate request')
.post('/login/activate')
.body(StringBody('''${randsession}'''))
StringBody()