
Senangnya ketika bug report di Github Project telah di resolved
Senangnya dalam hati
Ketika issue yang kita raise di github project akhirnya di aknowledge dan di resolve oleh maintener 😅

Whooaa.. eeh apaan tuh?
Jadi gini, di kantor gw tuh pake library python Toolium untuk ngerjain automation test mobile app, library nya kece banyak banget ngebantu generate test appium dengan lebih cepat, nah suatu ketika ternyata library ini ada problem dimana test android kalo failed jadi ada freeze di teardown process karena ada proses streaming android bugreport yang ukurannya gede bisa 3 MB di ekstrak dari device, nah akhirnya gw coba debug kenapa kok proses teardown ini selalu lama.
Akhirnya ketahuan dari library Toolium ini ada tindakan secara "paksa" untuk ambil 3 macem log, yaitu appium log, android logcat, dan bugreport, yang jadi masalah prose load log ini ga bisa configured, jadi di paksa ambil data gede terus makanya test jadi freeze saat teardown karena generate dan ekstrak 3 megabyte bugreport itu bisa makan waktu 1 menit, kan kesel nungguinnya 😅
Ok,, trus trus
Sebenernya bisa aja saya monkey patch library ini, dengna overide method tersebut, tapi buat permanen solution harusnya dari library nya ini yang di ubah, akhirnya saya coba create bug tiket serius yang pertama disini dan berharap di solved sama maintener nya, klo dilihat sih lumayan aktif development dari perusahaan Telefonica ini, walau toolium web yang sering dapet updatenya.

Selang waktu beberapa lama, ternyata 3 hari lalu solved dan sudah ada di versi release Toolium terbaru donk 😍
Sounds cool, apa lagi tuh?
Nah sebenernya pun saya sudah tau cara resolvednya, tapi mau raise PR sendiri kok belum percaya diri, jadi memilih raise bug tiket saja, dan ternyata memang betul, jika saya perhatikan diff changes codenya, banyak hal yang kemungkinan saya lewatkan dalam perbaikan sendiri seperti cara verifikasi test serta dokumentasinya
Ternyata sangat menyenangkan membandingkan approach problem solving yang berbeda dari kita, bisa dilihat style dan karakter dia dalam bentuk kode

Dengan sedikit perubahan saja, ternyata bisa beranak banyak test baru seperti:
def test_save_webdriver_logs_one_log_type(driver_wrapper, utils):
def test_save_webdriver_logs_multiple_log_types(driver_wrapper, utils):
def test_save_webdriver_logs_multiple_log_types_with_spaces(driver_wrapper, utils):
def test_save_webdriver_logs_none_log_type(driver_wrapper, utils):
def test_save_webdriver_logs_all_log_type(driver_wrapper, utils):
def test_save_webdriver_logs_without_log_types(driver_wrapper, utils):
Mantap, bisa kita pelajari juga cara dia menguji kode yang dia tulis sebelumnya
jadi semangat ikut kontribusi ke projek ini/lain selanjutnya
Comments