Performance Testing-თან მუშაობის განუყოფელი ნაწილია მისი განვითარება, ახალი მიდგომების ძიება და მათი ტესტირება.
Plugin-ების(რაც გვხვდება JMeter-ში) გარდა, სამუშაო პროცესის გამარტივება/ოპტიმიზაცია შესაძლებელია browser extension-ებით(ბრაუზერების დამატებითი ინსტრუმენტები).
მათთვის ვისაც სმენია JMeter recorder-ის შესახებ:
– კი, JMeter-საც აქვს ფუნქცია, ჩაიწეროს მოქმედებები browser-ში(არც თუ ისე რთული, თუმცა გაცილებით მეტი მოქმედებით შესასრულებელი ოპერაციაა). + რიგ შემთხვევებში JMeter ვერ ინახავს ბრაუზერში განხორციელებული მოქმედებების 100%-ის.
ამ სტატიაში განვიხილავთ extension-ს(BlazeMeter), რომელიც დაგვეხმარება სკრიპების ჩაწერაში, რომლებსაც საბოლოოდ შევინახავთ JMX ფაილად და გამოვიყენებთ JMeter-ში.
ერთი ან რამდენიმე კონკრეტული Request-ის გასაგზავნად ხშირ შემთხვევაში საკმარისია 10–15 ელემენტის დამატება/დაკონფიგურირება და მზად ვართ Thread Group-ში შევცვალოთ მომხმარებლების, დროის, ციკლების რაოდენობა. თუმცა დიდი მასშტაბის ტესტირებისთვის(სადაც ჩვენი მიზანა გავიაროთ ყველა ის ნაბიჯი რაც უწევს მომხმარებელს browser-ში), ყველა მოქმედების შესაბამისი ელემენტის დამატება და გამართვა საჭიროებს დიდ დროს. მსგავსი შემთხვევებისთვის, განსაკუთრებით მაშინ, როცა ვმუშაობთ JMeter-ში, ოპტიმალურია ვისარგებლოთ BlazeMeter-ით.
“და მაინც, რა შეუძლია BlazeMeter-ს?”
სიმარტივე მაგალითებშია..
ავიღოთ Apache JMeter-ის საიტი, სადაც გვაქვს უამრავი გვერდი, ძიების ფუნქციონალი, გვერდებიც გადაცვლის ღილაკები, png, jpg ფაილები და ასე შემდეგ. რა მოცულობის დრო იქნება საჭირო თუნდაც 25 განსხვავებულ გვერდზე გადასვლის, ძიების და რამდენიმე მარტივი request-ის სანახავად იგივე DevTool-ში და შემდეგ JMeter-ში დასამატებლად?
დაგვჭირდება Sampler-ების, Listener-ების და დამატება/დაკონფიგურირება. რიგ შემთხვევებში Header-ების და სხვა ელემენტების დამატება და უამრავი ნიუანსის გათვალისწინება, რომ გავიმეროთ მარტივი მოქმედებები request-ების სახით.
ვამატებთ BlazeMeter-ს Google Chrome-ში და ვიწერთ მარტივ სკრიპტს
- ვაინსტალირებთ Chrome-ის Extention-ებიდან;
მარტივად გამოყენებისთვის “ვპინავთ”, რომ ყოველ ჯერზე არ ვეძებოთ სხვა დანარჩენი extension-ში
2. შევდივართ სასურველ მისამართზე, ვხსნით BlazeMeter-ს, ვუთითებთ ჩასაწერი სკრიპტის სახელს და ვაჭერთ Record ღილაკს
3. სრული ციკლის ჩასაწერად პირველ რიგში უნდა გადაიტვირთოს გვერდი, რომ ტესტი დაიწყოს სასურველი(პირველი) გვერდის ჩატვირთვით. შემდეგ ვართ ჩვეულებრივი მომხამრებლები 🙂
გადავდივართ სხვადასხვა გვერდზე, ვაჭერთ ღილაკებს და ასე შემდეგ.
სასურველი მოქმედებების ჩაწერის შემდეგ, BlazeMeter-ის Stop ღილაკი
ვინახავთ JMX ფაილს და ვხსნით JMeter-ში
1. ტესტის ჩაწერის შემდეგ, უცებ გავარჩიოთ 3 ღილაკი 🙂
Run — ანუ უკვე ჩაწერილი მოქმედებების გამეორება, თავიდან გაშვება იმ თანმიმდევრობით რაც ჩვენ განვახორციელეთ საიტზე;
Edit — ჩაწერილი სკრიპტის რედაქტირება;
Save — შენახვა
თვალსანოებისათვის თუ რა მოქმედებები ჩავიწერეთ, უმჯობესია Edit-ის გამოყენება
2. ვირჩევთ ჩვენთვის საჭირო ფორმატს, ამ შემთხვევაში .JMX ღილაკით და ვინახავთ სასურველ საქაღალდეში
3. Jmeter-ში CTRL+O ან file->Open, ვირჩევთ უკვე შენახულს JMX ფაილს და მზა ტესტი ადგილზეა 🙂
შეგვიძლია დავამატოთ Listener და დავსტარტოთ ტესტი, სადაც შესრულდება ყველა ის მოქმედება, რომელიც ჩავიწერეთ BlazeMeter-ით.
“- კი, Listener-ის გარეშეც გაეშვება, მაგრამ შედეგს ვერ ნახავ”
პასუხი კითხვას: “მაგის გარეშე არ იმუშავებს?”
უშუალოდ პრაქტიკა ვიდეოს სახით
წინა სტატიებიდან ნაცნობი https://reqres.in/ და რამდენიმე მოქმედება, რომელიც საბოლოოდ წამოვიდა JMeter-ში
რა ხდება ვიდეოში?
BlazeMeter-ით ჩაიწერა 4 განსხვავებული request ყველა დეტალით(Request URL, Method, Body, Headers და ასე შემდეგ), რომელიც ჩანს შენახვის დროს.
JMeter-ში მოხდა JMX ფაილის გახსნა და იგივე ტესტი(ყველა request-ის გათვალისწინებით) გაეშვა ზუსტად იმ თანმიმდევრობით რაც ბრაუზერში.
შემდეგი სტატია: Scheduled + Sequential tests — ანუ ვგემავთ როდის და რა თანმიმდევრობით გაეშვას პროცესი
ავტორი: anri.phutkaradze