ცოტა რამ რაც appium-ზე უნდა ვიცოდეთ (მხოლოდ დადებითი :) )

მაშ ასე, ჩვენ უკვე ვიცით, რომ Appium არის საკმაოდ “ძლიერი” framework, რომელსაც იყენებენ მობილური აპლიკაციების ტესტირებისთვის.  მაგრამ მაინც ასეთს რას აკეთებს? 🙂 მარტივად რომ ვთქვათ მას შეუძლია სხვადასხვა ტიპის აპლიკაციების ავტომატიზაცია სხვადასხვა მობილურ პლატფორმაზე. გაინტერესებთ, რატომ არის Appium პოპულარული არჩევანი მობაილ აპლიკაციების ავტომატური ტესტირებისთვის? რადგან ის ავტომატიზირებს ტესტირებას მრავალ მოწყობილობასა და პლატფორმაზე მხოლოდ ერთი კოდის ბაზის გამოყენებით.

ავტომატიზაცია Appium-ის გამოყენებით
როდესაც საქმე ეხება მობაილ აპლიკაციების  ავტომატიზაციას Appium-ის გამოყენებით, არსებობს რამდენიმე ძირითადი კონცეფცია და კომპონენტი, რომლებიც უნდა ვიცოდეთ. ამიტომ მე ვეცდები გაგიზიაროთ ჩემი პირადი გამოცდილება. განვიხილოთ პროცესი ძალიან ზოგადად ოღონდ.

Desired Capabilities
Appium-ში სესიის დასაწყებად, ჯერ უნდა დავაყენოთ Desired Capabilities. ეს არის ასე ვთქვათ პარამეტრები მოწყობილობის დეტალებით, პლატფორმით, ბრაუზერით და სხვა პარამეტრებით.  (არსებობს სავალდებულო და არასავალდებულო პარამეტრები, თუმცა აქ ახლა ამას დაწვრილებით არ განვიხილავთ). მათი ცოდნა და სწორად გამოყენება ბევრ თავსატეხს აგვაცილებს თავიდან მუშაობის პროცესში. (მაგ: ეკრანის განბლოკვა, ჩაშენებული კლავიატურის გამოძახების გამარტივება და სხვ მრავალი.)

Mobile Web Context And Multiple Devices
თქვენ იცით, რომ მობილური ვებ ბრაუზერები და მშობლიურ აპლიკაციებს აქვთ სხვადასხვა სივრცე, სადაც ისინი მუშაობენ.  appium გამოყენების დროს კი ეს არ გვიქმნის გადაუჭრელ პრობლემას. მარტივად შეგვიძლია ვემუშავოთ როგორც აპლიკაციებს, ისე ჩაშენებულ ბრაუზერს და ასევე, გახსოვდეთ Appium მხარს უჭერს პარალელურად შესრულებას მრავალ მოწყობილობაზე ან ემულატორზე/სიმულატორზე. ეს ყველაფერი კი ზოგავს დროს, ფინანსებს და ნერვებს 🙂 თუმცა ასევე უნდა გავითვალისწინოთ რომ ყველაფერმა რომ ასე იდეალურად იმუშავოს ამისთვის იდეალური გარემოც არის საჭირო რაც ხშირ შემთხვევაში მიუღწეველია ხოლმე.

Assertions And Verifications
სხვა ფრეიმფორქების მსგავსად, appium -შიც მარტივია ეგრედ წოდებული ასერშენების და ვერიფიკაციების გამოყენება.

Test Framework Integration And Environment Setup
Appium შეიძლება გამოყენებული იქნას როგორც სხვა ფრეიმვორქებთან და დიზაინ პატერნებთან ერთად. მაგალითად cucumber(BDD) JUnit, TesnNG და სხვ.  ეს ინტეგრაცია ხელს უწყობს ტესტების სტრუქტურირებულად ორგანიზებას და მართვას. ასევე თითქმის ყველა სახის რეპორტების სისტემასთან მარტივად ინტეგრირდება.

Debugging and Logging And Continuous Integration
არანაირი პრობლემა არ გააჩნია რომელიმე ლოგირების მოდულებთან, ასევე მარტივია დებაგინგი (ნუ მთლად საუკეთესო არ არის მთელ ავტომატიზაციის სამყაროში მაგრამ მაინც 🙂 ) და რაც მთავარია მარტივად ჯდება CI/CD pipeline შიც.


მრავალი პლატფორმა და პროგრამირების ენა
Appium მხარს უჭერს მრავალ პლატფორმას. ეს ნიშნავს, რომ შემიძლია ტესტების გაშვება ბევრ მოწყობილობაზე ერთი კოდის ბაზის საშუალებით და მისი ერთ-ერთი მომხიბლავი უპირატესობა არის ის რომ აქვს უამრავი პროგრამული ენის მხარდაჭერა. (მართალია ძირითადად მაინც JAVA, PYTHON, C#, JS იყენებენ მაგრამ მას აქვს  Objective-C, JavaScript with Node.js, PHP, Python, Ruby, C#, Clojure and Perl. ასე რომ თუ ოდესმე რომელიმე ენასთან მაინც გქონიათ შეხება მარტივი იქნება appium -თან ურთიერთობაც. ნუ რა თქმა უნდა არსებობს მერე ბევრი პლიუს მინუსები ენების მიმართულებით მაგრამ მაინც ცდა ყოველთვის შეიძლება 🙂

ტესტირების ტიპები და რეპორტინგი
როგორც უკვე ვახსენეთ ზემოთაც, appium მარტივად ინტეგრირდება სხვადასხვა დიზაინ პატერნებთან და ფრეიმვორქებთან, ასევე რეპორტების სისტემებთან. რაც საშუალებას იძლება მარტივად ჩავატოროთ სხვადასხვა ტიპის ტესტირებები (ტესტ ქეისების სწორი მენეჯმენტის დროს) და ავსახოთ შედეგები ნებისმიერ რეპორტ სისტემაში. (ნუ შეიძლება სიტყვა ‘ნებისმიერ’ ცოტა გადამეტებულია მაგრამ მაინც თითქმის ყველა რეპორტის სისტემასთან არის შესაძლებელი ინტეგრირება, თუმცა ხშირად გამოიყენება მინიმალისტური html რეპორტი junit ის გამოყენებით, allure ან თუნდაც zephyr scale-შივე ინტეგრაცია)

Supports Cloud-Based Testing
ასევე აღსაღნიშნავია რომ appium გამოყენებით ტესტირება შეგვიძლია მოვახდინოთ როგორც ემულატორ/სიმულატორებზე, ასევე რეალურ მოწყობილობებზე და რაც ასევე ხშირად ძალიან საჭიროა ქლაუდის სახით წარმოდგენილ მოწყობილობებზეც.

და ბოლოს რაც თითქმის ყველგან ყველაზე მთავარია ხოლმე ის არის  open-source 🙂

 

კომენტარის დატოვება

თქვენი ელფოსტის მისამართი გამოქვეყნებული არ იყო. აუცილებელი ველები მონიშნულია *