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 PDFInfo
- 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
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)
- Zastrzeżenia patentowe1. 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. 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. 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. 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. 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. 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. 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.
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) |
-
2020
- 2020-03-31 PL PL433410A patent/PL241975B1/pl unknown
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) | 하드웨어와 소프트웨어 기반 트레이싱을 이용한 악성코드 탐지 장치 및 방법 |