गॅटलिंग द्रुत संदर्भ - सामान्य गॅटलिंग फंक्शन्स

हे पोस्ट कार्यप्रदर्शन चाचणीसाठी गॅटलिंग टूलसाठी द्रुत संदर्भ मार्गदर्शक म्हणून कार्य करते.

पूर्वी आम्ही कसे ते पाहिले आपला गॅटलिंग प्रोजेक्ट आयोजित करा तार्किक आणि समजण्यास सोपे संरचना मध्ये.

या पोस्टमध्ये, आम्ही परफॉरमन्स टेस्ट स्क्रिप्ट्स तयार करताना काही सामान्य गॅटलिंग फंक्शन्सची उदाहरणे आणि उपयोग पाहतो.


या पोस्टमध्ये समाविष्ट असलेली गॅटलिंगची उदाहरणे आहेतः



साधे अनुकरण

import io.gatling.core.Predef._ import io.gatling.http.Predef._ class SimplestSimulation extends Simulation {
setUp(scenario('Homepage')
.exec(http('Home').get('https://devqa.io'))
.inject(atOnceUsers(1))) }
|

HTTP प्रॉक्सी वापरणे

setUp(scenario('Proxy on')
.exec(http('World').get('https://devqa.io'))
.inject(atOnceUsers(1)))
.protocols(http.proxy(Proxy('proxy.company.net', 8080))) }
|

वरील उदाहरणात, proxy.company.net प्रॉक्सी URL आणि | _ _ _ _ | प्रॉक्सी पोर्ट आहे.




HTTP विनंत्या

विनंती मिळवा

क्वेरी पॅरामीटर्ससह एक साधी जीईटी विनंती

8080 |

पोष्ट विनंती

फॉर्म पॅरासह एक नमुना POST विनंती, उदा. फॉर्म सबमिट करणे:

http('Get Gatling posts')
.get('https://devqa.io')
.queryParam('post', 'gatling')
.queryParam('category', 'performance testing')
.header('Accept-Language', 'en')
|

| _ + _ _ मध्ये असणे आवश्यक आहे अशा फाइल पेलोडसह एक नमुना POST विनंती

http('POST with params')
.post('https://www.example.com/login')
.formParam('firstname', 'David')
.formParam('lastname', 'Brown')
.header('Accept-Language', 'en')
|

परिदृश्य

विराम द्या

टीपः विराम देण्यासाठी, आपल्याला हे आयात जोडण्याची आवश्यकता आहे
src/test/resources/bodies |


http('Post with file payload')
.post('https://example.com/users')
.body(RawFileBody('bodyFileName.json')).asJSON
.header('Content-type','application/json')
|

पळवाट

import scala.concurrent.duration.DurationInt |

आभासी वापरकर्त्यांचा इंजेक्शन

scenario('with secode pause')
// ...
.pause(2, 3) // will make a random pause of 2-3 seconds
.pause(2) // will make a fixed pause of 2 seconds
scenario('millisecond pause')
// ...
.pause(200.milliseconds) // fixed pause of 0.2 second
|

रॅम्प अप

scenario('repeat')
.repeat(3)( // repeat 3 times
exec(http('google').get('https://www.example.com'))
)
|

एकाच वेळी

val scn=scenario('Virtual users') setUp(
scn.inject(
nothingFor(4.seconds),
atOnceUsers(10),
rampUsers(10) over(5.seconds))
|

धनादेश आणि अभिप्राय

गॅटलिंगमध्ये, धनादेश सामान्यत: स्थिती कोड प्रतिसाद संस्था तपासण्यासाठी वापरल्या जातात, परंतु प्रतिसादाच्या वेळेस ठासून सांगण्यासाठी सामान्यतः असे म्हणणे वापरले जाते.

धनादेश

स्थिती आणि JSON डेटा तपासत आहे:

rampUsers(10) over(5.seconds)
// linear rampup
// 10 users added over 5 seconds (1 extra user every 500 ms)
constantUsersPerSec(10) during(5.seconds)
// adds 10 users every second
// (so a total of 50 users after 5 seconds)
|

गॅटलिंग सत्रामध्ये प्रतिसाद डेटा जतन करीत आहे

nothingFor(4.seconds) // no new users added during 4 seconds atOnceUsers(10) // 10 users added immediately // not really recommended since it can hammer down the tested server heavisideUsers(10) over(2.seconds) // better approximation of a peak of users |

ठाम मत

http('name').get('/path')
.check(status.is(200))
.check(jsonPath('$.name').is('some name'))
|

खाद्य

मूलभूत वापर

http('name').get('/path')
.check(header('location').saveAs('newLocation'))
.check(jsonPath('$.name').saveAs('name'))
// You can now use $newLocation and $name in your requests :
http('get home').get('/users/${name}')
|

प्रगत वापर

setUp(scn).assertions(
global.responseTime.mean.lt(50), // mean resp time < 50 ms
forAll.failedRequests.percent.gt(5) // for each request, < 5% failure )
|

मनोरंजक लेख