Performance Testing-თან მუშაობის განუყოფელი ნაწილია მისი განვითარება, ახალი მიდგომების ძიება და მათი ტესტირება.
Plugin-ების(რაც გვხვდება JMeter-ში) გარდა, სამუშაო პროცესის გამარტივება/ოპტიმიზაცია შესაძლებელია browser extension-ებით(ბრაუზერების დამატებითი ინსტრუმენტები).
მათთვის ვისაც სმენია JMeter recorder-ის შესახებ:
– კი, JMeter-საც აქვს ფუნქცია, ჩაიწეროს მოქმედებები browser-ში(არც თუ ისე რთული, თუმცა გაცილებით მეტი მოქმედებით შესასრულებელი ოპერაციაა). + რიგ შემთხვევებში JMeter ვერ ინახავს ბრაუზერში განხორციელებული მოქმედებების 100%-ის.
ამ სტატიაში განვიხილავთ extension-ს(BlazeMeter), რომელიც დაგვეხმარება სკრიპების ჩაწერაში, რომლებსაც საბოლოოდ შევინახავთ JMX ფაილად და გამოვიყენებთ JMeter-ში.
![](https://miro.medium.com/max/1354/1*kSrQE510zrVR9DDf9jXpXA.png)
ერთი ან რამდენიმე კონკრეტული Request-ის გასაგზავნად ხშირ შემთხვევაში საკმარისია 10–15 ელემენტის დამატება/დაკონფიგურირება და მზად ვართ Thread Group-ში შევცვალოთ მომხმარებლების, დროის, ციკლების რაოდენობა. თუმცა დიდი მასშტაბის ტესტირებისთვის(სადაც ჩვენი მიზანა გავიაროთ ყველა ის ნაბიჯი რაც უწევს მომხმარებელს browser-ში), ყველა მოქმედების შესაბამისი ელემენტის დამატება და გამართვა საჭიროებს დიდ დროს. მსგავსი შემთხვევებისთვის, განსაკუთრებით მაშინ, როცა ვმუშაობთ JMeter-ში, ოპტიმალურია ვისარგებლოთ BlazeMeter-ით.
“და მაინც, რა შეუძლია BlazeMeter-ს?”
სიმარტივე მაგალითებშია..
ავიღოთ Apache JMeter-ის საიტი, სადაც გვაქვს უამრავი გვერდი, ძიების ფუნქციონალი, გვერდებიც გადაცვლის ღილაკები, png, jpg ფაილები და ასე შემდეგ. რა მოცულობის დრო იქნება საჭირო თუნდაც 25 განსხვავებულ გვერდზე გადასვლის, ძიების და რამდენიმე მარტივი request-ის სანახავად იგივე DevTool-ში და შემდეგ JMeter-ში დასამატებლად?
![](https://miro.medium.com/max/1400/1*qjPuC0vuut5bwfP4QLrhyQ.png)
დაგვჭირდება Sampler-ების, Listener-ების და დამატება/დაკონფიგურირება. რიგ შემთხვევებში Header-ების და სხვა ელემენტების დამატება და უამრავი ნიუანსის გათვალისწინება, რომ გავიმეროთ მარტივი მოქმედებები request-ების სახით.
ვამატებთ BlazeMeter-ს Google Chrome-ში და ვიწერთ მარტივ სკრიპტს
- ვაინსტალირებთ Chrome-ის Extention-ებიდან;
![](https://miro.medium.com/max/1400/1*uhpxkodt3Kqa2-TusRnEog.png)
მარტივად გამოყენებისთვის “ვპინავთ”, რომ ყოველ ჯერზე არ ვეძებოთ სხვა დანარჩენი extension-ში
![](https://miro.medium.com/max/662/1*XXzhPcCZlWUjeLHGuQ4_3A.png)
2. შევდივართ სასურველ მისამართზე, ვხსნით BlazeMeter-ს, ვუთითებთ ჩასაწერი სკრიპტის სახელს და ვაჭერთ Record ღილაკს
![](https://miro.medium.com/max/756/1*Yi2GPKAZgpJdkmbe9IyjPA.png)
3. სრული ციკლის ჩასაწერად პირველ რიგში უნდა გადაიტვირთოს გვერდი, რომ ტესტი დაიწყოს სასურველი(პირველი) გვერდის ჩატვირთვით. შემდეგ ვართ ჩვეულებრივი მომხამრებლები 🙂
გადავდივართ სხვადასხვა გვერდზე, ვაჭერთ ღილაკებს და ასე შემდეგ.
სასურველი მოქმედებების ჩაწერის შემდეგ, BlazeMeter-ის Stop ღილაკი
![](https://miro.medium.com/max/712/1*BTENNSvQQJ35si7-yeYKew.png)
ვინახავთ JMX ფაილს და ვხსნით JMeter-ში
1. ტესტის ჩაწერის შემდეგ, უცებ გავარჩიოთ 3 ღილაკი 🙂
Run — ანუ უკვე ჩაწერილი მოქმედებების გამეორება, თავიდან გაშვება იმ თანმიმდევრობით რაც ჩვენ განვახორციელეთ საიტზე;
Edit — ჩაწერილი სკრიპტის რედაქტირება;
Save — შენახვა
![](https://miro.medium.com/max/606/1*1SPILPEUO3pcY1ookYdqog.png)
თვალსანოებისათვის თუ რა მოქმედებები ჩავიწერეთ, უმჯობესია Edit-ის გამოყენება
![](https://miro.medium.com/max/1400/1*QhD0_-7-TniaX5RSFgnHhQ.png)
2. ვირჩევთ ჩვენთვის საჭირო ფორმატს, ამ შემთხვევაში .JMX ღილაკით და ვინახავთ სასურველ საქაღალდეში
3. Jmeter-ში CTRL+O ან file->Open, ვირჩევთ უკვე შენახულს JMX ფაილს და მზა ტესტი ადგილზეა 🙂
![](https://miro.medium.com/max/1400/1*AKk9zbM8ccGE6ZIWNPdK-Q.png)
შეგვიძლია დავამატოთ Listener და დავსტარტოთ ტესტი, სადაც შესრულდება ყველა ის მოქმედება, რომელიც ჩავიწერეთ BlazeMeter-ით.
“- კი, Listener-ის გარეშეც გაეშვება, მაგრამ შედეგს ვერ ნახავ”
პასუხი კითხვას: “მაგის გარეშე არ იმუშავებს?”
![](https://miro.medium.com/max/1400/1*XmN9V5C0iI9-luMAxdKcZA.png)
უშუალოდ პრაქტიკა ვიდეოს სახით
წინა სტატიებიდან ნაცნობი https://reqres.in/ და რამდენიმე მოქმედება, რომელიც საბოლოოდ წამოვიდა JMeter-ში
რა ხდება ვიდეოში?
BlazeMeter-ით ჩაიწერა 4 განსხვავებული request ყველა დეტალით(Request URL, Method, Body, Headers და ასე შემდეგ), რომელიც ჩანს შენახვის დროს.
JMeter-ში მოხდა JMX ფაილის გახსნა და იგივე ტესტი(ყველა request-ის გათვალისწინებით) გაეშვა ზუსტად იმ თანმიმდევრობით რაც ბრაუზერში.
შემდეგი სტატია: Scheduled + Sequential tests — ანუ ვგემავთ როდის და რა თანმიმდევრობით გაეშვას პროცესი
ავტორი: anri.phutkaradze