설계와 개발을 하다보면 바로 정보를 가져올 수 없거나 인식 기점을 직접적으로 가져올 수 없는 경우가 있다.
혹은 직접적으로 가져오는 경우 예외 케이스가 많아지는 경우도 있다.
그 경우 Proxy 연상이 필요하다.
예시1)
조회 후 로딩이 끝나면 엑셀 다운로드를 눌러 파일을 다운로드 하는 진행에서
로딩이 언제 끝나는지 체크가 되지 않거나 힘든 경우를 가정하자.
그럼 보통은 delay를 주고 로딩 이미지 exist를 찍었다가 false면 진행시키려고 했다가
로딩 이미지 인식이 제대로 안 되거나 움직이거나 하는 케이스들로 고생하는 경우가 많다.
position attribute 등으로 직접적인 커버를 할 수도 있으나
기본적으로는 로딩 자체가 모달 팝업같은 형태를 띄기 때문에
로딩 중에는 화면 내 input이 작동하지 않는다.
따라서 그냥 엑셀 다운로드를 누르고 다운로드 창이 뜨는지 retry scope으로 체크해도 같은 효과를 볼 수 있다.
예시2)
가령 RPA가 수행될 때 녹화가 수행되도록 하기 위해 녹화 프로그램의 단축키를 누르는 상황이 있다고 하자.
이 경우 녹화 프로그램을 켜고 단축키를 눌렀을 때,
폴더에 녹화를 위한 새 파일이 생겼는지를 체크하는 게 직접적이다.
이때 가장 정확한 방식은 기존 폴더의 최신 파일이름과
녹화 단축키 버튼 Send 후 폴더의 최신 파일이름을 비교하는 방식일 수 있다.
그걸 비교하기 위해서는 기존 폴더의 최신 파일이 없이 이번 녹화파일이 해당 폴더의 첫 파일인 경우 등을 고려해야 한다.
그러나 단축키 send 직전 폴더의 파일 개수를 세고 그보다 늘었는지를 체크하기는 쉽다.
좋은 개발자라면 위의 예시를 보는 중에 의문이 생길 수 있다.
'로딩이 안 끝나도 클릭이 돼버리면 정합성 문제가 생기는 거 아닌가?'
'그 타이밍에 임시파일 등이 생기면 틀어지는 거 아닌가?'
너무 당연하게도 proxy 연상을 통한 방식은 직접적이지 않기 때문에 틀어질 가능성은 있다.
다만 살짝만 보완해도 직접적인 방식과 거의 같은 수준의 안정성을 보여준다.
가령 임시파일이 생기는 케이스의 경우 확장자를 mp4 같은 영상 확장자로 필터링하면
.dat 같은 임시파일에 대해 신경쓰지 않아도 된다.
RPA Studio단에서의 설계는 이런 형태의 Proxy 연상이 빠르게 가능해지면서 성장하는 편이다.
어떤 면에선 '잔머리'라고도 볼 수 있다.
잔머리가 무조건 좋은 건 아니지만 초보 개발자일수록 너무 어렵게 생각해서
개발을 못 하는 케이스가 많아 글을 써본다.(나 포함)
그런 경우 이런 proxy 연상들을 서로 공유하면서 하나의 tip으로 가져가면
현업분들의 요구사항에 대응하는 실력이 빠르게 크는 거 같다.
'RPA 종합' 카테고리의 다른 글
업무 타입 분류 (0) | 2022.09.08 |
---|---|
[RPA] RPA 4년차 개발자가 보는 RPA 시장 넋두리 (6) | 2022.08.23 |
[Uipath] Try Catch와 Exception에서 자주 헷갈리는 케이스 (0) | 2022.06.23 |
RPA 기본 과제 정의 관련[현업 제공 파일] (0) | 2022.06.03 |
[Browser] IE와 Chrome의 Alert Type 비교(Get Text 관련) (1) | 2022.06.02 |