Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Polish
Info

Instrukcja tworzenia źródeł danych w systemie - https://docs.plusworkflow.pl/confluence/pages/viewpage.action?pageId=13272439

Wtyczka zawiera implementację źródeł danych automatyzujących działania w przeglądarce internetowej.

Za pomocą opisywanych źródeł danych można automatyzować działania i przekazywać dane pomiędzy systemem PlusWorkflow oraz przeglądarką internetową.

Info

Źródło opiera się o język skryptowy narzędzia Selenium IDE - side.

Selenium IDE tutorial - https://www.youtube.com/watch?v=m4KpTvEz3vg

Nagrane scenariusze w postaci plików .side można importować do źródła za pomocą przycisku Importuj .side w sekcji Opcje.

Istnieje również możliwość wyeksportowania pliku .side z istniejącego źródła za pomocą przycisku Eksportuj .side w sekcji opcje

Info

Przeglądarka domyślnie uruchamiana jest w trybie headless. Aby otwierać przeglądarkę w trybie okienkowym należy dodać do argumentów sterownika wartość - headless=false

 

Opis konfiguracji:

Nazwa parametruOpis parametruWymagalność
Początkowy URLAdres URL, który zostanie otwarty w przeglądarce na początku wykonania skryptuWymagany
Domyślny timeoutCzas przez jaki sterownik będzie czekał na pojawienie się elementu na stronie. Po tym czasie wyrzucony zostanie błądWymagany
Argumenty sterownika

Dodatkowe argumenty, które zostaną przekazane do sterownika przeglądarki. Lista dostępnych argumentów: https://peter.sh/experiments/chromium-command-line-switches/

Opcjonalny
Dodaj ścieżkę wykonania do parametrów wyjściowychDodaje parametr wyjściowy zawierający ścieżkę na dysku serwera, w której zachowane są dane o wykonaniu źródła takie jak wynik wykonywania skryptu czy zapisane screeny-
Pokaż komentarzeOdkrywa i ukrywa komentarze do poszczególnych komend-
Command

Komenda Selenium IDE, która ma zostać wykonana przez sterownik przeglądarki Lista dostępnych komend: link

Info

Do wyboru są dodatkowo komendy nie będące niebędące poleceniami natywnymi Selenium IDE. Zostały wprowadzone w celu niestandardowej obsługi wyjątków. Przy każdej z tych komend nie wypełnia się kolumny Target i Value. Następujące komendy to:

  • try
  • catch
  • end catch

Komendy znajdujące się pomiędzy try i catch w wyniku swojego działania mogą spowodować błąd (w przypadku tego podejścia - rzucić wyjątek), który następnie jest obsługiwany przez komendy znajdujące się pomiędzy catch i end catch. Możliwe jest użycie większej liczby klauzul obsługi wyjątków niż raz w tej samej konfiguracji. Wymagana jest ich odpowiednia kolejność występowania w konfiguracji. Przed, jak i po całym bloku obsługi wyjątków można definiować inne komendy.

Wymagany
TargetPierwszy argument komendy Selenium IDEWymagany
ValueDrugi argument komendy Selenium IDEWymagany
KomentarzPole niewymagane. Pozwala na opisanie danego kroku wykonywaniaWymagany
[Parametry wejściowe] IdId parametrów wejściowychWymagany
[Parametry wejściowe] NazwaNazwa parametrów wejściowychWymagany
[Parametry wejściowe] TypTyp parametrów wejściowychWymagany
[Parametry wyjściowe] IdId parametrów wyjściowychWymagany
[Parametry wyjściowe] NazwaNazwa parametrów wyjściowychWymagany
[Parametry wyjściowe] TypTyp parametrów wyjściowychWymagany
Info

Istnieje również możliwość użycia dodatkowej komendy capture entire page screenshot w celu uzyskania zrzutu całej wyrenderowanej strony w formacie obrazu PNG.

W polu target należy podać nazwę pliku, w którym zapisany zostanie zrzut.

Plik ten znajdzie się w katalogu wykonania źródła, do którego ścieżkę możemy uzyskać zaznaczając w konfiguracji źródła "Dodaj ścieżkę wykonania do parametrów wyjściowych".

 

Przykłady konfiguracji:

Konfiguracja źródłaWynik wywołaniaOpis

 

Źródło odczytuje nazwy oraz opisy procesów znajdujących się liście zalogowanego użytkownika. Dodatkowo wypisuję ścieżkę wykonania źródła.
Warning
titleCzęste błędy w konfiguracji

1. Używanie kolejnych poleceń w skrypcie w parametrze Commands po komendzie close, które powoduje zamknięcie sesji przeglądarki w ramach wykonywanej konfiguracji .side Selenium. Gdy sesja choć raz zostanie zamknięta, próba wykonania kolejnych poleceń zakończy się błędem.

 

Mapowanie danych

Wartości parametrów wejściowych mogą zostać wstrzyknięte do skryptu za pomocą tagu: ${param_id}. Takim znacznikiem można posłużyć się również w kroku "execute script".

Przykład logowania do PWFL:

Do parametrów wyjściowych wypisać można wartości wszystkich zmiennych istniejących w kontekście wykonania skryptu. Zmienne te można utworzyć np. poprzez krok "store value" (opisany w dokumentacji Selenium IDE - zapisuje wartość elementów HTML typu input, textarea itp. do zmiennej) lub "execute script" gdzie należy zwrócić wartość do zmiennej:

Spowoduje to zapisanie tablicy wartości całkowitych do zmiennej o nazwie numbers. Taką zmienną istniejącą w skrypcie można zamapować na parametr wyjściowy źródła o takim samym ID jak nazwa zmiennej:

Dla parametrów wyjściowych należy podać ogólny typ zmiennej - tablice są wykrywane automatycznie.

Info

Wartości typu date oraz datetime należy zwrócić ze źródła w postaci stringów o formatach odpowiednio: yyyy-MM-dd oraz yyyy-MM-dd hh:mm:ss.

Jeśli na stronie, z której pobieramy dane daty zapisane są w innym formacie można je sparsować w JS (krok "execute script") do typu Date() a następnie wypisać jako string przy pomocy:

date - new Date().toISOString().substring(0,10)

datetime - new Date().toISOString().split("T").join(" ").split(".")[0]

 

 

Info

Wynik wykonania źródła domyślnie cache'owany jest przez 1 minutę.

Funkcje

Wtyczka udostępnia dwie funkcje:

  • RPA.getExecutionZipPath
  • RPA.getScreensPath

Funkcje jako parametr przyjmują ścieżkę do rezultatu wykonania źródła, którą można uzyskać poprzez zaznaczenie parametru "Dodaj ścieżkę wykonania do parametrów wyjściowych" .

Funkcja RPA.getExecutionZipPath zwraca pełną ścieżkę do pliku .zip, zawierającego pełne informacje o wykonaniu skryptu oraz wszystkie wykonane zrzuty ekranu podczas wykonywania skryptu.

Funkcja RPA.getScreensPath zwraca pełną ścieżkę do pliku .pdf, zawierającego wszystkie wykonane zrzuty ekranu podczas wykonywania skryptu.

English

 

Hide If
special@authenticated

JIRA
server192.168.1.52 JIRA
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId2e6b42a8-62e1-3c71-bfe9-dbf183b33dc1
keyDSRPAWEB-1
JIRA
server192.168.1.52 JIRA
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId2e6b42a8-62e1-3c71-bfe9-dbf183b33dc1
keyDSRPAWEB-5