Globalna funkcja do testowania aplikacji

 

Podczas procesu tworzenia aplikacji rzadko wszystkie elementy działają od razu, w sposób zgodny z naszymi oczekiwaniami. Zwłaszcza w przypadku skryptów często dochodzimy do sytuacji, w których nasz kod nie do końca działa poprawnie, a co gorsza, nie mamy pojęcia dlaczego tak się dzieje. Może wartość jest źle pobierana? Może zaokrąglenie liczby nie daje nam takiego rezultatu, jakiego oczekiwaliśmy?

 

Jedną z technik ułatwiających odnajdywanie źródła tego typu błędów jest ustawienie zmiennych tekstowych, a następnie wypełnianie ich odpowiednimi wartościami.

Między innymi dlatego przy tworzeniu aplikacji warto korzystać z szablonu Simple Layout. Oprócz takich zalet, jak wbudowany już oddzielny plik CSS z przykładami klas, zawiera on także element TEXT_HEADER_TITLE – tytuł naszej aplikacji.

 

Jest to wyśrodkowany, duży i dobrze widoczny tekst znajdujący się przy górnym marginesie aplikacji. Idealny do wprowadzenia do niego wartości, z którą mamy problem.

 

Przykładowo – nasz skrypt pobiera dział gospodarczy wybrany z listy rozwijanej, a następnie przefiltrowuje przez niego wykres. Jednakże po uruchomieniu aplikacja nie reaguje na naszą interakcję i wykres pozostaje bez zmian.

 

Aby zobaczyć jaki pojawił się błąd, wstawiamy pobraną wartość działu gospodarczego do tytułu naszej aplikacji. Przykładowy kod:

 

//// Pobieramy wartość z listy rozwijanej

varvalue = DROPDOWN_5.getSelectedValue();

// Wstawiamy ją do tytułu aplikacji

TEXT_HEADER_TITLE.setText(value);

 

Dzięki temu, po interakcji od razu widzimy, czy wartość jest pobierana i czy proces ten zachodzi poprawnie. Możemy zauważyć m.in. że pobrana wartość wynosiła 233, a oczekiwana przez system wartość wynosiła 0233.

 

Ważne!

Czasami wartość, którą pobieramy przechowywana jest w formacie liczbowym. Lumira Designer przedstawi ostrzeżenie, że do elementu tekstowego możemy wstawić tylko wartość tekstową. Aby sprostać oczekiwaniom narzędzia należy zastosować poniższą sztuczkę :

 

// Lumira Designer nie przyjmuje takiego kodu

TEXT_HEADER_TITLE.setText(jakas_wartosc_liczbowa);

 

// Lumira Designer przyjmuje taki kod

TEXT_HEADER_TITLE.setText(""+jakas_wartosc_liczbowa);

 

Działanie sztuczki: wstawiamy puste pole tekstowe (“”) do którego następnie dołączamy naszą wartość liczbową. Dzięki powyższemu następuje automatyczna konwersja na format tekstowy.

 

Jeśli testujemy w ten sposób dużą ilość elementów, możemy ułatwić pracę tworząc globalną funkcję. Jest to funkcja, która jest dostępna z każdego zakamarka aplikacji, a nie tylko w obrębie jednego elementu.

 

W tym celu tworzymy obiekt Global Scripts korzystając z okna Outline.

 

 

W celu ułatwienia wywoływania funkcji możemy, korzystając z menu kontekstowego i opcji Rename, aby zmienić nazwę naszego obiektu z tej wygenerowanej na np. pojedynczą literę.

 

Następnie klikamy prawym przyciskiem myszy na nasz obiekt i wybieramy Create Script Function. W nowo otwartym oknie wpisujemy nazwę naszej funkcji, np. test. Po zaakceptowaniu powinien pojawić się ekran definiowania funkcji. Możemy uzupełnić go tak, jak na poniższym zdjęciu:

 

 

 

Input Parameters definiuje argumenty, które mamy przekazać funkcji, natomiast sam skrypt wpisujemy w oknie Script.

 

Teraz dzięki naszym wysiłkom, zamiast pisać za każdym razem:

TEXT_HEADER_TITLE.setText(value);

 

Wystarczy wpisać:

G.test(value);

 

Zastosowanie tego rozwiązania powinno zaoszczędzić nam czasu przy tworzeniu i testowaniu naszej aplikacji.