#1 Jak usprawnić swoją pracę. Zautomatyzuj powtarzalne operacje z Chrome i Katalon

#1 Jak usprawnić swoją pracę. Zautomatyzuj powtarzalne operacje z Chrome i Katalon

Ty też czasem musisz dodać ręcznie jakąś notatkę lub zmienić jakieś opcje dla przykładowo 100 klientów w Twoim sklepie internetowym czy systemie CRM? Ja niestety co jakiś czas muszę i… nie znoszę tego robić! To strata czasu. Tak bardzo nie lubiłem tego robić, że musiałem znaleźć jakieś rozwiązanie tego problemu.

Wprowadzenie do problemu

Zaraz, zaraz ale czemu w ogóle musisz robić takie rzeczy. Przecież to powinno być w oprogramowaniu możliwe do „wyklikania” szybko.

Pewnie niektórzy z Was tak pomyśleli.
No może i powinno być możliwe, ale czasami nie jest. Programy nie są idealne, może twórcy nie przewidzieli danej opcji, albo sami im jej na etapie tworzenia aplikacji nie zasugerowaliśmy.

Haaa, no to trzeba im zgłosić żeby dopisali tą funkcjonalności i po problemie!!!

Co mniej techniczni czytelnicy myślą, że mnie mają i cały wpis nie ma sensu. Ale Ci którzy pracowali z tworzeniem oprogramowania wiedzą, że to nie takie proste. Czemu?

  1. To trwa – funkcjonalności w większych systemach nie są dopisywane z dnia na dzień – a Twoje terminy Cię gonią!
  2. To kosztuje – prawdopodobnie nikt nie napisze nowej funkcji w oprogramowaniu za darmo.

I tu do gry wchodzi chłodna kalkulacja. Czasami jest tak, że nie opłaca się płacić za funkcjonalność z której skorzystamy może raz w roku, gdy ręczne wykonanie tej operacji zajmuje nam kilka godzin.
Dlatego niestety czasem muszę (a właściwie musiałem, ale o tym za chwilę) coś klikać wielokrotnie ręcznie – ze względów finansowych nie opłaca mi się tworzyć oprogramowania, które to wykona za mnie.

Jak mogę sobie poradzić w takiej sytuacji?

  1. Zacisnąć zęby, poświęcić kilka godzin i przeklikać się przez 100 kont w systemie – dla mnie nieakceptowalne, nawet nie chodzi o wydajność, mnie to po prostu nudzi.
  2. Napisać na szybko skrypt, który zmodyfikuje bazę danych Twojego systemu, lub wykona potrzebne operacje po API (jeśli oprogramowanie takie udostępnia) – niby ok, ale musisz wiedzieć co w bazie trzeba zmienić, musisz umieć trochę programować oraz możliwe, że wczytać się w dokumentacje API.
  3. Można też użyć narzędzi przeznaczonych pierwotnie dla testerów oprogramowania do testowania zachowania front’u aplikacji symulując działanie w przeglądarce (opartych o Selenium) – tester to nie programista, większość rzeczy w takich narzędziach można wyklikać – jak dla mnie bingo! Może dla kogoś to głupie ale ja używam zabawek do prowadzenia testów automatycznych, aby wykonywały za mnie pracę przez przeglądarkę i używam w tym celu Chrome z rozszerzeniem Katalon Recorder.

Jak mogę zautomatyzować zadania w przeglądarce WWW?

Na samym początku musisz zacząć od zainstalowania potrzebnych narzędzi. Ale nie martw się, nie będzie to trudne. Potrzebuje tylko przeglądarkę Chrome + zainstalowane w niej rozszerzenie Katalon Recorder.

Katalon Recorder – kilka słów o nim

Ta wtyczka do Chrome, to całkiem ciekawe narzędzie, ale ja nie korzystam z niego nawet w 5%. Czemu? Bo nie jestem testerem aplikacji, a jak już mówiłem jest to narzędzie zasadniczo służące do przygotowania testów automatycznych.

Na potrzeby tego wpisu, to co nas interesuje to generowanie czegoś na kształt makra znanego z pakietów biurowych. Możemy zapisać sekwencje operacji wykonania w przeglądarce i następnie je odtworzyć. W ten sposób operacje wykonamy tylko jeden raz, dla pozostałych przypadków proces wykona za nas Katalon Recorder. To co istotne, naszą sekwencje możemy zasilić danymi np. z pliku CSV, gdzie będziemy mieli zebrane identyfikatory klientów do modyfikacji i wartości parametrów, jakie należy dla nich ustawić.

Zautomatyzujmy coś wreszcie!

Zacznijmy od czegoś, prostego. Spróbujemy zmusić Katalon’a, żeby wyszukał jakąś frazę w Google, a następnie, przeszedł do zakładki z Grafikami i wybrał wyniki w formie Ikon z 24 ostatnich godzin.
Brzmi trudno? Nic bardziej mylnego

Najpierw uruchom Chrome i Katalona, można też od razu wejść na stronę Google. Katalon uruchomisz klikając w jego ikonkę na pasku rozszerzeń w Chrome. Gdy zobaczysz okienko z pulpitem Katalona, kliknij przycisk Record.

Uruchomienie Katalona i rejestracji sekwencji operacji w przeglądarce

Po kliknięciu przycisku Record, okienko zostanie zminimalizowane, a Twoja każda akcja w przeglądarce będzie rejestrowana. Przystępujemy więc do wykonania naszej operacji wyszukiwania i jej zarejestrowania przez Katalon, czyli po prostu poszukamy teraz czegoś w Google.

Uwaga! Bez wnikania w szczegóły, pracując z formularzami i Katalonem przestrzegaj kilku zasad:

  1. Przed wypełnieniem danego pola kliknij w nie myszką – nie używaj tabulatora, czy też nie ufaj temu, że kursor miga w polu po odpaleniu aplikacji – po prostu kliknij w nie, tak dla pewności.
  2. Wpisz całą frazę z klawiatury – nie korzystaj z żadnych podpowiedzi, czy to dostarczanych przez przeglądarkę, czy też pochodzący ze strony internetowej.
  3. Wysyłaj formularz klikając na przycisk Wyślij/Szukaj itd. – staraj się unikać zatwierdzania formularza Enterem

Te 3 punkty, zabezpieczą Cię, przed różnymi rozwiązaniami stosowanymi na stronach WWW i zwiększą Twoje szanse na sukces w automatyzacji danej operacji z użyciem Katalona.

Do dzieła! Kliknij więc pole do wpisania szukanej frazy w wyszukiwarce Google, wpisz co chcesz, ja wpisałem „wiewiórka” i naciśnij przycisk „Szukaj w Google” – tak jak pokazałem to poniżej.

Wypełnienie i wysłanie formularza wyszukiwania w Google

Dalej będzie już z górki, teraz tylko pozostanie przełączyć się na kartę z grafikami i wybrać stosowane opcje z zakładki „Narzędzia”. Po tych zabiegach powinieneś otrzymać okrojone wyniki wyszukiwania. Jeśli dostaniesz informacje, że dane hasło nie mogło zostać znalezione, to nie przejmuj się tym, to tylko test. U mnie na końcu wyglądało to następująco:

Wyniki wyszukiwania z ustawionymi filtrami

Przez cały ten czas, wszystkie Twoje operacje powinien rejestrować Katalon Recorder. System zapewne informował Cię o tym notyfikacjami po kliknięciu czegokolwiek w przeglądarce. Sprawdźmy co zostało zapisane w Katalonie. W tym celu trzeba zmaksymalizować jego okno, np. klikając na ikonkę tego narzędzia w pasku zadań w systemie. Po zmaksymalizowaniu okna powinniśmy ujrzeć listę zapisanych operacji. Aby zakończyć rejestrowanie kliknij po prostu na przycisk Stop.

Zatrzymanie rejestrowania operacji przez Katalon Recorder

Listę zarejestrowanych operacji oczywiście można edytować, ale chwilowo nie będziemy tego robić. W tej chwili chcemy się przekonać jedynie czy nasze makro zostało zapisane i działa poprawnie. Jeśli Twoja lista komend wygląda podobnie do mojej, wszystko powinno być dobrze. Aby uruchomić makro kliknij na przycisk „Play All” i obserwuj co dzieje się w Twojej przeglądarce.

Uruchomienie zarejestrowanej sekwencji

I jak udało się?:) W przeglądarce zostały powtórzone Twoje kroki? Mam nadzieje, że tak. Gdyby tak się nie stało, śmiało zostaw komentarz! Zobaczymy co może być nie tak.

No dobra, ale to był bardzo prosty przypadek. Wykonał się tylko raz. Jak masz w ten sposób coś zautomatyzować dla 100 wpisów w swoim systemie? Na całe szczęście Katalon ma prosty sposób na dostarczenie danych do niego z pliku CSV i wykonywanie sekwencji w pętli dla każdego wiersza naszego pliku. Daje to ogromne możliwości, możesz dowolnie modyfikować zachowanie Twojego makra zależnie od danych.

Przygotowanie pliku CSV z danymi

Tej części niestety za Ciebie nie zautomatyzuje, dane których potrzebujesz użyć, musisz jakoś pozyskać i umieści je w pliku, który będzie mógł zrozumieć Katalon a radzi on sobie świetnie z plikami CSV i JSON. Nie powinno być to trudne. Plik CSV można przygotować np. w Excel’u czy arkuszu kalkulacyjnym od Google.

Pamiętaj jednak o tym, że pierwszy wiersz zawiera nazwy dla kolumn i tych nazw będziesz używał w Katalonie, by powiedzieć mu skąd ma wziąć dane dla danej sekwencji.

Lista haseł do wyszukania w Google

Na potrzeby tego wpisu stwórz prostą listę haseł, które Google powinno wyszukać dla Ciebie. Wystarczy kilka pozycji. Uruchom więc arkusz kalkulacyjny i wypełnij kolejno wiersze, pamiętając, że w pierwszym wierszu umieszczasz nazwę kolumny po której będziesz się odwoływać do danych. Powinno to wyglądać mniej więcej tak:

Tworzenie listy haseł z użyciem arkusza kalkulacyjnego

Następnie zapisz plik do formatu CSV, warto zwrócić uwagę z jakim kodowaniem znaków jest zapisywany. Sugeruje by używać UTF-8.
Plik nazwij możesz nazwać przykładowo dane.csv lub użyć innej nazwy, która Ci odpowiada.

Teraz stworzony plik trzeba zaimportować do środowiska Katalon Recordera. W tym celu wróć do okna tego narzędzia. Przejdź do zakładki „Data Driven” naciśnij przycisk „Add CSV File” odszukaj swój plik CSV z danymi i dodaj go do programu. Gdy plik zostanie dodany poprawnie ujrzysz go na liście zaimportowanych plików.

Dodanie pliku z danymi do Katalon Recordera

Wykorzystanie danych z pliku CSV

Gdy masz już wszystko przygotowane zgodnie z opisanymi wcześniej krokami, pozostaje tylko użyć danych z Twojego pliku. Nie jest to specjalnie trudne, ale nie da się tego też wyklikać w interfejsie. Będziesz musiał trochę zmienić listę operacji do wykonania, które zarejestrował Katalon. Ale nie ma się czym martwić, będzie to banalne. W naszym przykładzie musisz dodać dwie komendy i zmodyfikować jedną z nich.

Dodawanie nowych komend

Aby dodać komendę kliknij na znak plusa, tuż pod listą zarejestrowanych operacji.

Uwaga! Po kliknięciu plusa miejsce na nową komendę doda się pod aktualnie zaznaczoną komendą lub na końcu listy jeśli nie była zaznaczona żadna z komend. Do momentu gdy nie wypełnimy pól nie jest ono zbyt dobrze widoczne.

Gdy już przygotujesz miejsce na nową komendę, zaznaczasz ją klikając na wiersz by był szary (tak jak na screenie poniżej) i możesz wypełnić pola Command, Target i Value. Po wypełnieniu tych pól, nie musisz nic klikać, będą one zapisane i wartości powinny pojawić się na liście powyżej.

Dodawanie nowej Komendy w Katalonie

Aby dane z pliku CSV były dostępne i zadziałały tak jak chcemy musisz dodać dwie komendy (wypełniasz pole Command) loadVars z wypełnionym polem Target w którym podajesz nazwę pliku (jeśli stosujesz taką jak ja to dane.csv) oraz endLoadVars gdzie pozostawiasz puste pola Target i Value. Przy czym, komenda loadVars powinna być na samym początku listy a endLoadVars na samym jej końcu. Porządek komend możesz edytować klikając na daną komendę na liście i przeciągając ja wyżej lub niżej.

Efekt jaki powinieneś osiągnąć, powinien być zbliżony do tego co zaprezentowałem poniżej.

Wygląd listy komend po dodaniu pliku z danymi

Edycja komendy i pobranie danych z pliku

Musisz jeszcze tylko powiedzieć Katalonowi dla której z komend ma użyć danych z pliku. W tym celu zastosujesz mechanizm zmiennych.

Komenda, którą musisz zmienić w kolumnie Value zawiera hasło, które wpisałeś ręcznie do Google. Powinna być to komenda type.

Operacja wpisywania danych do pola wyszukiwarki

Możliwość zmiany wartości dla tego kroku na liście, pojawi się po kliknięciu na tą komendę. Zamiast statycznej i wpisywanej za każdym razem wartości wiewiórka chcesz pobierać dane z pliku. To banalne, w pole Value wpisz ${haslo}. Czemu akurat tak? Bo haslo to nazwa kolumny w pliku dane.csv, z której pobierasz hasła do wyszukiwania.

Wskazówka: Zmienną taką jak ${haslo} możesz wykorzystać również w polu Target dla danej komendy. W ten sposób możesz choćby sterować wywołaniami w komendzie open.

Bardzo wiele systemów umożliwia dostęp do ustawień danego klienta po jego ID. Jeśli zbierzesz ID klientów do pliku CSV i w polu Target dla komendy open wpiszesz coś w stylu https://adres_aplikacji/clients?client_id=${client_id} możesz realizować dane makro na stronie konkretnego klienta. Niestety nie powiem Ci jak konkretnie utworzyć taki odnośnik, ponieważ zależy to od wykorzystywanego oprogramowania. Zwykle jednak po zarejestrowaniu sekwencji dla jednego z klientów i przejrzeniu listy kroków, które zostały zarejestrowane łatwo ustalić co podmienić by móc realizować operacje na stronie ustawień danego użytkownika.

Na końcu Twoja lista kroków dla tworzonego makra powinna wyglądać analogicznie do mojej. Upewnij się, że nie popełniłeś żadnych literówek.

Finalna lista kroków w tworzonym makro

No to chyba wszystko gotowe, naciśnij więc ponownie przycisk „Play All” w oknie Katalona. I obserwuj efekty. Trochę to zapewne potrwa.

Czy wyszukiwanie zostało powtórzone dla każdej zapisanej w pliku frazy? Jeśli tak to gratuluje, to Twój pierwszy automat! A co najlepsze nie trzeba było się uczyć żądnego języka programowania.

U mnie działa to tak jak na filmie.

Prezentacja działającego makra stworzonego w Katalon Recorder

Po co automatyzować wyszukiwanie w Google?!

Zasadniczo znalazłbym odpowiedź na to pytanie. Ale nie o to tu chodzi. Google jest przykładem, podobną operacje możesz wykonać w swoim własnym systemie dostępnym przez przeglądarkę. Wolałem pokazać ten proces bazując na jakiejś stronie do której każdy ma dostęp, a nie na konkretnym rozwiązaniu. W przyszłości, być może zaprezentuje konkretne przykłady optymalizacji takich czynności dla specyficznych skryptów.

Ile mogę na tym zyskać?

To zależy głównie od Ciebie. Stworzenie makro na potrzeby tego wpisu zajęło mi jakieś 2-3 minuty. Zapewne tyle samo zajęłoby mi wyszukanie tych 3 fraz ręcznie. Ale gdybym miał ich do wyszukania 150?

Jak już wspominałem wyżej – Katalon Recorder to rozbudowane narzędzie, ale korzystając tylko z loadVars i mechanizmu zmiennych jaki oferuje, można bardzo szybko tworzyć makra, które wypełnią za Ciebie formularze, wyślą e-maile z systemu do wybranych klientów, czy wprowadzą hurtowo zmiany w profilach użytkowników. Osobiście, sporadycznie mam potrzebę użyć czegoś więcej niż to co pokazałem w tym wpisie. Reszta pozostaje po Twojej stronie – Ty decydujesz jak wykorzystać to rozszerzenie.

Uwaga: Łatwo wpaść w pułapkę, w której stworzenie makra działającego tak jak chcesz trwa dłużej niż wykonanie zadania ręcznie. To czy opłaci się stworzyć taką prostą automatyzację trzeba oszacować samodzielnie. Na pocieszenie dodam jedynie, że nawet jeśli, źle określisz czas, to zawsze pozostanie Ci wiedza na przyszłość.

Wskazówka: Jeżeli długo nie możesz sobie poradzić z jakimś fragmentem tworzenia makra, przemyśl czy nie zrezygnować z niego.

Przykładowo, gdybyś miał problem z otwieraniem strony z ustawieniami danego klienta, usuń z listy wywołań komendę open i przechodź na strony klientów ręcznie. A makro uruchamiaj na każdej ze stron, by wykonało operacje przeznaczone dla danego użytkownika. Być, może nie będzie idealnie ale zawsze trochę szybciej.

Dodaj komentarz

avatar