PL241975B1 - Sposób rejestracji akcji wykonywanych za pomocą systemu komputerowego, sposób automatycznego odtwarzania akcji za pomocą systemu komputerowego oraz system komputerowy - Google Patents

Sposób rejestracji akcji wykonywanych za pomocą systemu komputerowego, sposób automatycznego odtwarzania akcji za pomocą systemu komputerowego oraz system komputerowy Download PDF

Info

Publication number
PL241975B1
PL241975B1 PL433410A PL43341020A PL241975B1 PL 241975 B1 PL241975 B1 PL 241975B1 PL 433410 A PL433410 A PL 433410A PL 43341020 A PL43341020 A PL 43341020A PL 241975 B1 PL241975 B1 PL 241975B1
Authority
PL
Poland
Prior art keywords
selectors
screen
event
selector
computer system
Prior art date
Application number
PL433410A
Other languages
English (en)
Other versions
PL433410A1 (pl
Inventor
Stanisław Klunder
Original Assignee
Extreme Robotics Spółka Z Ograniczoną Odpowiedzialnością
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Extreme Robotics Spółka Z Ograniczoną Odpowiedzialnością filed Critical Extreme Robotics Spółka Z Ograniczoną Odpowiedzialnością
Priority to PL433410A priority Critical patent/PL241975B1/pl
Publication of PL433410A1 publication Critical patent/PL433410A1/pl
Publication of PL241975B1 publication Critical patent/PL241975B1/pl

Links

Landscapes

  • Digital Computer Display Output (AREA)
  • Debugging And Monitoring (AREA)

Abstract

Przedmiotem zgłoszenia przedstawionym na rysunku jest sposób rejestracji akcji wykonywanych za pomocą systemu komputerowego wyposażonego w pamięć, jednostkę obliczeniową, urządzenia wejścia—wyjścia, ekran oraz umieszczony w pamięci system operacyjny przystosowany do uruchamiania aplikacji i reagowania na zmiany stanu aplikacji i urządzeń wejścia—wyjścia oraz sterowania ekranem, w którym to systemie komputerowym uruchamia się proces za pomocą którego identyfikuje się i rejestruje zdarzenia i ich elementy, docelowe zapisując ich selektory, a następnie zapisuje się je jako sekwencje akcji w sposób umożliwiający jej odtworzenie, zgodnie z wynalazkiem cechuje się tym, że dla rejestrowanego zdarzenia wyznacza się i zapisuje selektor ścieżkowy oraz przynajmniej jeden selektor alternatywny wybrany z grupy obejmującej selektor graficzny oraz selektor tekstowy. Przedmiotem zgłoszenia jest również komplementarny sposób wykonywania makra.

Description

Opis wynalazku
Przedmiotem wynalazku jest sposób rejestracji akcji wykonywanych za pomocą systemu komputerowego, sposób automatycznego odtwarzania akcji za pomocą systemu komputerowego oraz system komputerowy zwłaszcza do robotyzacji zadań powtarzalnych.
W stanie techniki znane są liczne rozwiązania problemu automatyzacji czy robotyzacji zadań wykonywanych przez użytkownika za pomocą maszyny cyfrowej. Tego rodzaju mechanizmy były wbudowane w system Windows 95. Okazały się jednak niedoskonałe i kłopotliwe i w kolejnych wersjach systemów Windows zostały porzucone.
Niezależnie od rozwiązań wbudowanych korzyści związane z robotyzacją zadań okazały się na tyle istotne, że opracowano liczne mechanizmy programowania i wykonywania zadań przez roboty. Komplikacja tych zadań z czasem zwiększała się, w szczególności wymagała reakcji na więcej interfejsów - w tym sieciowych - oraz realizacji procesu w zależności od zasobów danych dostępnych w sieci internet.
Z opisu patentu europejskiego nr EP1190297 znany jest system (schemat blokowy ukazuje pos. 1), sposób i program zapewniający proces, który przechwytując zdarzenia, monitoruje działania użytkownika wykonywane za pomocą urządzeń wejścia-wyjścia w aplikacji i identyfikuje selektory ekranowe. Wynalazek umożliwia działanie w pięciu trybach, w tym w trybie przewodnika wyświetlającego pomoc kontekstową oraz w trybie indywidualnie przyspieszonym. W trybie indywidualnie przyspieszonym system oferuje automatyczne wykonywanie makr w formie ciągów realizowanych wcześniej operacji przerywanych monitami za pomocą urządzeń wejścia-wyjścia. Ciągi realizowanych wcześniej operacji są wykonywane przez automatyczne wybieranie za pomocą selektorów ścieżkowych elementów docelowych aplikacji. Te selektory ścieżkowe są zapisywane w trakcie etapu rejestracji i monitorowania działań użytkownika.
Znane są liczne alternatywne rozwiązania, przykładowo z amerykańskiego dokumentu patentowego U2004/0075692.
W związku z budową rozwiązań działających w różnych systemach operacyjnych terminologia i nazewnictwo stosowane do opisywanie ich nie zawsze jest spójne ponieważ niekiedy zależy od architektury. Dla jasności w niniejszym dokumencie wprowadzono definicje.
Aplikacje stanowią uruchamiane w systemie operacyjne programy wykorzystywane przez użytkowników. Działania za pomocą aplikacji podlegają automatyzacji, czy też robotyzacji. Robot stanowi proces systemowy, czyli aplikację systemu operacyjnego, działający w ramach systemu operacyjnego odpowiedzialny za nasłuchiwanie zdarzeń systemu operacyjnego oraz, konwersję zdarzeń do postaci akcji w makrach a także odtwarzanie tych makr.
Makro stanowi ciąg poleceń reprezentujący przepływ sterowania scenariusza zdarzeń, który odzwierciedla ciąg działań użytkownika wykonywanych w ramach systemu operacyjnego przy użyciu jednej lub wielu aplikacji za pomocą operacji wejścia-wyjścia systemu operacyjnego.
System operacyjny oznacza system operacyjny komputera, w ramach którego działa proces robota i automatyzowane aplikacje. W szczególności znane są mechanizmy automatyzacji w systemach z rodziny Windows, Linux, Apple iOS, a także innych systemach operacyjnych umożliwiających interakcje aplikacji z użytkownikiem za pomocą graficznego interfejsu i urządzeń wejścia-wyjścia. Przykład graficznego interfejsu użytkownika znanego ze stanu techniki i poddawanego automatyzacji za pomocą robota ukazano na Pos. 2.
Zdarzenie systemowe to struktura danych przekazywana między różnymi podsystemami i aplikacjami systemu operacyjnego, reprezentująca w systemie operacyjnym wykrycie zmiany stanu aplikacji lub odebranie sygnału z podsystemu wejścia-wyjścia. Obsługa zdarzeń jest podstawową techniką sterowania aplikacjami działającymi w ramach systemu operacyjnego. W szczególności zdarzenia systemowe mogą obejmować odebranie sygnału z wejścia-wyjścia OS, takie jak klawiatura, wskaźnik myszy lub komunikację wewnątrz systemu operacyjnego między systemem operacyjnym a aplikacjami - przykładowo aktywacja okna, zamknięcie okna.
Element docelowy zdarzenia stanowi subkomponent aplikacji, który jest docelowym odbiorcą zdarzenia wejścia-wyjścia. Techniczna implementacja elementu zależy od technologii wykonania aplikacji. Aplikacja może być wykonana w jednej z dostępnych dla danego OS technologii tworzenia aplikacji lub może być aplikacją internetową (webową) w technologii HTML i pochodnych. Uchwyt systemowy (ang. Hook) to tablica adresów procedur wywoływanych przez system operacyjny w momencie wykrycia nowego zdarzenia. Każda procedura jest wiązana z jednym lub kilkoma rodzajami zdarzeń systemowych.
Selektor ekranowy elementu - dane identyfikujące docelowy element na ekranie, wewnątrz automatyzowanej Aplikacji. W szczególności może to być obraz obszaru obejmującego element, którego wybranie za pomocą myszy lub palca na ekranie dotykowym powoduje uruchomienie elementu.
Selektor ścieżkowy elementu to adres elementu w drzewie komponentów, obejmujący rodzaj selektora, ciąg identyfikatorów w postaci kombinacji atrybutów technicznych elementów występujących w drzewie elementów aplikacji począwszy od elementu głównego, tak zwanego korzenia, który stanowi najczęściej główne okno aplikacji, aż do elementu docelowego będącego źródłem lub celem zdarzenia systemowego. Przykład drzewa elementów aplikacji znanego ze stanu techniki ukazano na Pos. 3.
Uchwyt systemowy elementu stanowi wskaźnik jednoznacznie reprezentujący dany element w pamięci systemu operacyjnego i w podobszarze tej pamięci przypisanym do danej aplikacji. Uchwyty systemowe mają zmieniające się wartości pomiędzy poszczególnymi uruchomieniami aplikacji i mogą służyć do identyfikacji elementów tylko w ramach jednej sesji działania aplikacji, od uruchomienia do zamknięcia procesu systemowego obsługującego aplikację.
Istota wynalazku
Nierozwiązanym problemem jest wzrost komplikacji systemów operacyjnych, rozmiarów ekranów i sposobów działania aplikacji, a także działania wieloplatformowe. Selektory ścieżkowe nie zawsze są dostępne w aplikacjach, a selektory ekranowe są trudne do wykrycia, ponieważ wraz ze wzrostem komplikacji systemów operacyjnych oraz rozmiarów ekranów selektory ekranowe są trudne do wykrycia przy odtwarzaniu z uwagi na rozrzut sposobu wyświetlania aplikacji i sposobu pracy użytkownika - nawet na jednej fizycznej maszynie. Celem wynalazku jest rozwiązanie tego problemu.
Sposób rejestracji akcji wykonywanych za pomocą systemu komputerowego wyposażonego w pamięć, jednostkę obliczeniową, urządzenia wejścia-wyjścia, ekran oraz umieszczony w pamięci system operacyjny przystosowany do uruchamiania aplikacji i reagowania na zmiany stanu aplikacji i urządzeń wejścia-wyjścia oraz sterowania ekranem, w którym to systemie komputerowym uruchamia się proces, za pomocą którego identyfikuje się i rejestruje zdarzenia i ich elementy docelowe zapisując ich selektory, a następnie zapisuje się je jako sekwencję akcji w sposób umożliwiający jej odtworzenie, zgodnie z wynalazkiem cechuje się tym, że dla rejestrowanego zdarzenia wyznacza się i zapisuje selektor ścieżkowy oraz przynajmniej jeden selektor pomocniczy wybrany z grupy obejmującej selektor graficzny oraz selektor tekstowy.
Selektory korzystnie układa się w łańcuch, jako pierwsze umieszczając selektory ścieżkowe, a dalej selektory tekstowe i graficzne. Korzystnie, w razie niemożliwości wyznaczenia wszystkich selektorów, zapisuje się łańcuch skonstruowany z tych, które udaje się wyznaczyć.
Korzystnie, w systemie operacyjnym umieszcza się własne procedury obsługi zdarzeń, i przed przekazaniem zdarzenia do wykonania przez system operacyjny zdarzenie to poddaje się analizie zdarzenia, w której wstrzymuje się wykonywanie zadań, wyznacza się element docelowy zdarzenia i określa się jego położenie na ekranie, a następnie odpytuje się system operacyjny o selektor ścieżkowy, po czym wyznacza się selektory alternatywne wybrane z grupy obejmującej: selektor graficzny, dla którego wyznaczenia rozpoznaje się kształty w obrazie w sąsiedztwie elementu docelowego na ekranie i identyfikuje się komponenty graficzne mogące potencjalnie być selektorami i zapisuje się je, a następnie porównuje z zarejestrowanymi wcześniej komponentami i wybiera się ten, który jest statyczny najbliższy elementu docelowego, oraz selektor tekstowy, dla którego wyznaczania rozpoznaje się automatycznie tekst w sąsiedztwie elementu docelowego i wybiera się najbliższy statyczny. Następnie zdarzenie przekazuje się do wykonania przez system operacyjny.
Sposób automatycznego odtwarzania akcji za pomocą systemu komputerowego wyposażonego w pamięć, jednostkę obliczeniową, urządzenia wejścia-wyjścia, ekran oraz umieszczony w pamięci system operacyjny przystosowany do uruchamiania aplikacji i reagowania na zmiany stanu aplikacji i urządzeń wejścia-wyjścia oraz sterowania ekranem, w którym to systemie komputerowym uruchamia się proces, za pomocą którego wyzwala się zdarzenia za pomocą selektorów, przy czym listę zdarzeń i selektorów odczytuje się z zapisanej w pamięci listy, zgodnie z wynalazkiem cechuje się tym, że dla każdej akcji odczytuje się łańcuch selektorów i wykonując akcję w pierwszej kolejności wykorzystuje się jako pierwsze w łańcuchu selektory ścieżkowe, a w razie niepowodzenia selektory alternatywne, w razie niepowodzenia ze wszystkimi selektorami zwracając komunikat o błędzie.
Korzystnie, wykonując selektory graficzne koreluje się selektor z obrazem wyświetlanym na ekranie.
System komputerowy wyposażony w pamięć, jednostkę obliczeniową, urządzenia wejścia-wyjścia, ekran oraz umieszczony w pamięci system operacyjny przystosowany do uruchamiania aplikacji i reagowania na zmiany stanu aplikacji i urządzeń wejścia-wyjścia oraz sterowania ekranem, zgodnie z wynalazkiem cechuje się tym, że jest przystosowany do wykonywania przynajmniej jednego sposobu według wynalazku.
Produkt programu komputerowego przystosowany do umieszczania w pamięci systemu komputerowego wyposażonego w pamięć, jednostkę obliczeniową, urządzenia wejścia-wyjścia, ekran oraz umieszczony w pamięci system operacyjny przystosowany do uruchamiania aplikacji i reagowania na zmiany stanu aplikacji i urządzeń wejścia-wyjścia oraz sterowania ekranem, znamienny tym, umieszczony w pamięci tego systemu komputerowego przystosowuje go do wykonywania przynajmniej jednego sposobu według wynalazku.
Opis figur
Przedmiot wynalazku został ukazany w przykładzie wykonania na rysunku, na którym Fig. 1a przedstawia sieć działań w przykładzie realizacji sposobu rejestracji według wynalazku, Fig. 1b przedstawia sieć działań etapu wyznaczania łańcucha alternatywnych selektorów, natomiast Fig. 2 przedstawia sieć działań przykładu wykonania sposobu odtwarzania zadań.
Opis przykładów wykonania
Wynalazek jest wspomagany systemem komputerowym wyposażonym w pamięć, jednostkę obliczeniową, urządzenia wejścia-wyjścia, ekran oraz umieszczony w pamięci system operacyjny przystosowany do uruchamiania aplikacji i reagowania na zmiany stanu aplikacji i urządzeń wejścia-wyjścia oraz sterowania ekranem.
Kompletne rozwiązanie składa się z dwóch procedur realizujących przykłady wykonania sposobów będących przedmiotem niniejszego zgłoszenia, które można umieścić w jednym lub w osobnych procesach w systemie operacyjnym. Pierwsza procedura jest stosowana na etapie nagrywania sekwencji zdarzeń do kodowania wykrytych zdarzeń i elementów docelowych do postaci ciągu akcji w makrze. Druga, komplementarna procedura jest wykonywana na etapie odtwarzania makra w celu znalezienia właściwych elementów docelowych i wykonania na nich akcji przez skierowanie właściwych zdarzeń do procedur obsługi związanych z konkretnymi elementami.
W przykładzie wykonania wynalazku sposób rejestracji akcji wykonuje się za pomocą procesu robota działającego według sieci działań zilustrowanej na Fig. 1a.
Na początku robot rejestruje 11 w systemie operacyjnym 10 własne procedury obsługi zdarzeń systemowych (ang. Hooks), w szczególności rozpoznaje zdarzenie wszczynające nagrywanie.
W trakcie nagrywania użytkownik rozpoczyna nagrywanie i zaczyna wykonywać poszczególne czynności w aplikacji/aplikacjach.
Wystąpienie dowolnego zdarzenia systemowego powoduje uruchomienie procedury obsługi 13 zdarzenia (ang. Hook). Dzięki rejestracji procedur obsługi możliwa jest analiza i rejestracja zdarzenia.
Analizę zdarzenia 17 przeprowadza się, jeżeli zdarzenie to znajduje się na liście zdarzeń istotnych. Jeżeli zdarzenie nie jest istotne, przekazuje się 18 je od razu do wykonania 19 przez system operacyjny. Jeżeli zdarzenie jest na liście zdarzeń istotnych, poddaje się je najpierw analizie zdarzenia 17 dla uzyskania i zapisu selektorów, a następnie przekazuje się 18 je do wykonania 19 przez system operacyjny.
Jeśli zdarzenie to „Koniec nagrywania”, to robot zapisuje 15 do pliku wszystkie nagrane akcje wraz z selektorami elementów i procedura nagrywania kończy się.
Sieć działań analizy 17 zdarzenia została ukazana na Fig. 1b. W toku analizy dalszą obsługę zdarzenia zawiesza się 170. Następnie wyznacza się lokalizację na ekranie pozycji elementu docelowego.
Jeżeli zdarzenie bezpośrednio zawiera uchwyt elementu, wywoływana jest 1711 funkcja systemu operacyjnego zwracająca pozycję elementu dla danego uchwytu.
Jeżeli samo zdarzenie zawiera współrzędne ekranowe [x, y] związane ze zdarzeniem, to wywoływana jest 1712 funkcja systemu operacyjnego zwracająca uchwyt elementu znajdującego się pod daną pozycją.
Następnie podejmuje się próbę wyznaczenia 172 selektora ścieżkowego.
Jeśli aplikacja poddawana automatyzacji to aplikacja desktopowa, adres elementu ma postać ścieżki XPath.
Jeśli aplikacja poddawana automatyzacji to aplikacja desktop w technologii umożliwiającej wyznaczenie adresu elementu, w strukturze drzewa komponentów jest wyznaczany adres jako ścieżka identyfikatorów w drzewie.
Następnie wyznacza się selektory alternatywne. Jako selektory alternatywne dobrze sprawdzają się: selektor graficzny stanowiący fragment zrzutu obrazu ekranu reprezentujący punkt odniesienia do pozycyjnej identyfikacji elementu w sąsiedztwie docelowego elementu oraz selektor tekstowy stanowiący tekst wyświetlany na ekranie w sąsiedztwie docelowego elementu. Zgodnie z wynalazkiem podejmuje się próbę wyznaczenia zarówno selektora graficznego, jak i tekstowego.
Wyznaczanie 173 selektora graficznego przeprowadza się wykonując operacje detekcji kształtów w obrazie za pomocą sposobów znanych w stanie techniki dla uzyskania komponentów obrazu wraz z pozycją na ekranie - tzw. bbox-ów.
Na podstawie analizy otoczenia o założonym promieniu R wokół wyznaczonej pozycji elementu docelowego wybierane są komponenty obrazu kwalifikujące się do potraktowania jako wartości selektorów - wzorców graficznych. Robot zapamiętuje wyznaczone komponenty obrazu do wykorzystania w analizie kolejnego zdarzenia. Jako wartość promienia typowo przyjmuje się dwukrotność przekątnej elementu mierzonej w pikselach, chociaż w zależności od aplikacji najlepsze wartości promienia mieszczą się w zakresie od 0,7 do 3 krotności długości tej przekątnej.
Robot porównuje układ komponentów obrazu w obsłudze zdarzenia bieżącego z zapamiętanymi wcześniej układami komponentów, wyznaczając te wartości, które się nie zmieniają (reprezentują statyczne elementy interfejsu) od tych, które się zmieniają (reprezentują zmienne wartości). Robot wyznacza wartość selektora graficznego jako wartość najbliższego statycznego komponentu względem analizowanego elementu.
Wyznaczając selektor tekstowy wykonuje się operację optycznego rozpoznawania znaku (OCR - ang. Optical Character Recognition) w wyświetlanym na ekranie obrazie dla uzyskania wyświetlanych tekstów wraz z pozycją na ekranie, bbox-ów.
Na podstawie analizy otoczenia o założonym promieniu R wokół wyznaczonej pozycji elementu docelowego wybierane są bbox-y tekstowe będące kandydatami do potraktowania jako wartości selektorów. Robot zapamiętuje wyznaczone bbox-y do wykorzystania w analizie kolejnego zdarzenia. Robot porównuje układ tekstów (bbox-ów) w obsłudze zdarzenia bieżącego z zapamiętanymi wcześniej układami tekstów rozróżniając te wartości, które się nie zmieniają (statyczne) od tych, które się zmieniają (zmienne). Robot wyznacza wartość selektora tekstowego jako wartość najbliższego statycznego tekstu względem analizowanego elementu.
Na koniec robot zapisuje 174 zdarzenie generując akcję specyficzną dla rodzaju zdarzenia systemowego wraz z wszystkimi rodzajami selektorów, które udało się wyznaczyć dla danego zdarzenia. Selektory są zapisywane w łańcuchach, poczynając od najpewniejszych tj. ścieżkowych.
Procedura odtwarzania jest komplementarna do procedury nagrywania, a sieć działań przykładu jej realizacji dla pojedynczej akcji - zdarzenia ukazuje Fig. 2. Wykonując kolejne akcje robot odczytuje kod zdarzenie do wykonania 21 i dodatkowe dane zdarzenia 22 nagrane uprzednio sposobem według wynalazku i odczytuje listę wyznaczonych łańcuchów selektorów elementów związanych z akcją. Robot wyznacza uchwyt elementu docelowego wykorzystując selektory w kolejności priorytetów.
Jeżeli SŚ na liście znajduje się selektor ścieżkowy, jest on ewaluowany 231 przez trawersowanie drzewa elementów w aplikacji aż do znalezienia odpowiedniego elementu i wyznaczenia jego uchwytu.
W razie niepowodzenia lub braku selektora ścieżkowego, jeżeli ST na liście znajduje się selektor tekstowy, realizowana jest procedura optycznego rozpoznawania znaków, która zwraca wartości tekstów wyświetlanych na ekranie wraz z pozycją.
Wartości tekstów są porównywane w celu zlokalizowania pozycji bbox-a zawierającego wartość wzorca tekstowego. Jeśli znaleziono pasującą wartość, obliczane są oczekiwane współrzędne elementu docelowego przez dodanie wektora przesunięcia do pozycji wyznaczonego bbox-a. Uchwyt elementu docelowego jest wyznaczany 232 przez funkcję systemu operacyjnego zwracającą uchwyt elementu w wyznaczonym punkcie.
W razie niepowodzenia lub w przypadku braku elementu tekstowego, jeżeli SG na liście znajduje się selektor graficzny, to uruchamiany jest algorytm dopasowania wartości wzorca graficznego do wyświetlanego obrazu. Jeśli znaleziono pasującą wartość, obliczane są oczekiwane współrzędne elementu docelowego przez dodanie wektora przesunięcia do wyznaczonej pozycji wzorca na ekranie. Uchwyt elementu docelowego jest wyznaczany 233 przez funkcję systemu operacyjnego zwracającą uchwyt elementu w wyznaczonym punkcie.
Jeśli nie udało się wyznaczyć uchwytu elementu docelowego, robot zgłasza 234 błąd i kończy wykonanie makra.
Mając definicję zdarzenia wraz z danymi dodatkowymi oraz wyznaczony uchwyt elementu docelowego robot generuje odpowiednie zdarzenie lub ciąg zdarzeń OS, które jest wykonywane przez odpowiednie procedury obsługi w OS i aplikacji. W konsekwencji robot steruje funkcjami aplikacji odwzorowując wcześniej zaobserwowane zachowania użytkownika.
Robot może być wbudowany w system operacyjny, zostać dostarczony jako wykonywalny program komputerowy, element biblioteki lub biblioteki dynamicznej, na nośniku lub za pośrednictwem przewodowej lub bezprzewodowej sieci komputerowej.
Zastosowanie wynalazku pozwala nie tylko zredukować ilość czasu potrzebnego do wykonywania powtarzalnych czynności za pomocą systemu komputerowego, ale również znacząco redukuje w stosunku do rozwiązań ze stanu techniki liczbę sytuacji, w których odtwarzanie makra kończy się niepowodzeniem.

Claims (7)

  1. Zastrzeżenia patentowe
    1. Sposób rejestracji akcji wykonywanych za pomocą systemu komputerowego wyposażonego w pamięć, jednostkę obliczeniową, urządzenia wejścia-wyjścia, ekran oraz umieszczony w pamięci system operacyjny przystosowany do uruchamiania aplikacji i reagowania na zmiany stanu aplikacji i urządzeń wejścia-wyjścia oraz sterowania ekranem, w którym to systemie komputerowym uruchamia się proces za pomocą którego identyfikuje się i rejestruje zdarzenia i ich elementy docelowe zapisując ich selektory, a następnie zapisuje się 174 je jako sekwencję akcji w sposób umożliwiający jej odtworzenie, znamienny tym, że dla rejestrowanego zdarzenia wyznacza się i zapisuje selektor ścieżkowy oraz przynajmniej jeden selektor pomocniczy wybrany z grupy obejmującej selektor graficzny oraz selektor tekstowy.
  2. 2. Sposób według zastrz. 1, znamienny tym, że selektory układa się w łańcuch, jako pierwsze umieszczając selektory ścieżkowe, a dalej selektory tekstowe i graficzne.
  3. 3. Sposób według zastrz. 2, znamienny tym, że w razie niemożliwości wyznaczenia wszystkich selektorów zapisuje się łańcuch skonstruowany z tych, które udaje się wyznaczyć.
  4. 4. Sposób według dowolnego z zastrz. od 1 do 3, znamienny tym, że rejestruje (11) się w systemie operacyjnym (10) własne procedury obsługi zdarzeń, i przed przekazaniem (18) zdarzenia do wykonania (19) przez system operacyjny zdarzenie to poddaje się analizie zdarzenia (17), w której wstrzymuje się wykonywanie zadań, wyznacza się (171) element docelowy zdarzenia i określa się jego położenie na ekranie, a następnie odpytuje się system operacyjny o selektor ścieżkowy, po czym wyznacza (173) się selektory alternatywne wybrane z grupy obejmującej:
    selektor graficzny, dla którego wyznaczenia rozpoznaje się kształty w obrazie w sąsiedztwie elementu docelowego na ekranie i identyfikuje się komponenty graficzne mogące potencjalnie być selektorami i zapisuje się je, a następnie porównuje z zarejestrowanymi wcześniej komponentami i wybiera się ten, który jest statyczny i najbliższy elementu docelowego, selektor tekstowy, dla którego wyznaczania rozpoznaje się automatycznie tekst w sąsiedztwie elementu docelowego i wybiera się najbliższy statyczny, a następnie zdarzenie przekazuje się do wykonania przez system operacyjny.
  5. 5. Sposób automatycznego odtwarzania akcji za pomocą systemu komputerowego wyposażonego w pamięć, jednostkę obliczeniową, urządzenia wejścia-wyjścia, ekran oraz umieszczony w pamięci system operacyjny przystosowany do uruchamiania aplikacji i reagowania na zmiany stanu aplikacji i urządzeń wejścia-wyjścia oraz sterowania ekranem, w którym to systemie komputerowym uruchamia się proces za pomocą którego wyzwala się zdarzenia za pomocą selektorów, przy czym listę zdarzeń i selektorów odczytuje się z zapisanej w pamięci listy, znamienny tym, że dla każdej akcji odczytuje się łańcuch selektorów i wykonując akcję w pierwszej kolejności wykorzystuje (231) się jako pierwsze w łańcuchu selektory ścieżkowe, a w razie niepowodzenia - selektory alternatywne (232, 232), w razie niepowodzenia ze wszystkimi selektorami zwracając komunikat o błędzie.
  6. 6. Sposób według zastrz. 5, znamienny tym, że wykonując selektory graficzne koreluje się selektor z obrazem wyświetlanym na ekranie.
    PL 241975 Β1
  7. 7. System komputerowy wyposażony w pamięć, jednostkę obliczeniową, urządzenia wejściawyjścia, ekran oraz umieszczony w pamięci system operacyjny przystosowany do uruchamiania aplikacji i reagowania na zmiany stanu aplikacji i urządzeń wejścia-wyjścia oraz sterowania ekranem, znamienny tym, że jest przystosowany do wykonywania przynajmniej jednego sposobu według wynalazku.
PL433410A 2020-03-31 2020-03-31 Sposób rejestracji akcji wykonywanych za pomocą systemu komputerowego, sposób automatycznego odtwarzania akcji za pomocą systemu komputerowego oraz system komputerowy PL241975B1 (pl)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PL433410A PL241975B1 (pl) 2020-03-31 2020-03-31 Sposób rejestracji akcji wykonywanych za pomocą systemu komputerowego, sposób automatycznego odtwarzania akcji za pomocą systemu komputerowego oraz system komputerowy

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PL433410A PL241975B1 (pl) 2020-03-31 2020-03-31 Sposób rejestracji akcji wykonywanych za pomocą systemu komputerowego, sposób automatycznego odtwarzania akcji za pomocą systemu komputerowego oraz system komputerowy

Publications (2)

Publication Number Publication Date
PL433410A1 PL433410A1 (pl) 2021-10-04
PL241975B1 true PL241975B1 (pl) 2023-01-02

Family

ID=78055938

Family Applications (1)

Application Number Title Priority Date Filing Date
PL433410A PL241975B1 (pl) 2020-03-31 2020-03-31 Sposób rejestracji akcji wykonywanych za pomocą systemu komputerowego, sposób automatycznego odtwarzania akcji za pomocą systemu komputerowego oraz system komputerowy

Country Status (1)

Country Link
PL (1) PL241975B1 (pl)

Also Published As

Publication number Publication date
PL433410A1 (pl) 2021-10-04

Similar Documents

Publication Publication Date Title
KR100868762B1 (ko) 임베디드용 소프트웨어의 오류 검출 방법
US8584101B2 (en) Apparatus and method for automatically analyzing program for detecting malicious codes triggered under specific event/context
CN110580226B (zh) 操作系统级程序的目标码覆盖率测试方法、系统及介质
CN101515320B (zh) 一种攻击时漏洞检测方法及其系统
US20040078784A1 (en) Collection and detection of differences of values of expressions/variables when debugging a computer process
KR19990044887A (ko) 다형 및 비-다형 마크로 바이러스의 자동적인 샘플 생성
CN110363004B (zh) 一种代码漏洞检测方法、装置、介质及设备
Dong et al. Flaky test detection in Android via event order exploration
KR101979329B1 (ko) 바이너리의 취약점을 유발하는 입력데이터 위치 추적 방법 및 그 장치
CN111752586B (zh) 跨架构的嵌入式设备固件未修补漏洞检测方法及系统
KR20180010053A (ko) 보안 취약점 점검을 위한 위험성 코드 검출 시스템 및 그 방법
JP7077909B2 (ja) デッドコード解析プログラム、デッドコード解析方法及びデッドコード解析装置
US11249890B2 (en) Software defect creation
CN114328168A (zh) 异常检测方法、装置、计算机设备和存储介质
PL241975B1 (pl) Sposób rejestracji akcji wykonywanych za pomocą systemu komputerowego, sposób automatycznego odtwarzania akcji za pomocą systemu komputerowego oraz system komputerowy
CN108415836B (zh) 利用应用程序检测计算机系统性能变化的方法和系统
KR20230044380A (ko) 코드 점검 인터페이스 제공 방법, 그리고 이를 구현하기 위한 장치
Barabanova et al. Modeling and Investigating a Race Condition Detection Algorithm for Multithread Computational Systems
US9710360B2 (en) Optimizing error parsing in an integrated development environment
US5956511A (en) Program development support apparatus, program development support method, and storage medium therefor
KR102403351B1 (ko) 바이너리 취약점 식별 코드 생성 방법, 그리고 이를 구현하기 위한 장치
Zhang et al. INSTRCR: Lightweight instrumentation optimization based on coverage-guided fuzz testing
KR102185294B1 (ko) 병렬 프로그램의 소스 코드 분석 장치 및 방법, 기록매체
US10545858B2 (en) Method for testing a graphical interface and corresponding test system
KR102421394B1 (ko) 하드웨어와 소프트웨어 기반 트레이싱을 이용한 악성코드 탐지 장치 및 방법