selenium 웹 처리 자동화

웹 화면 처리 자동화는 오래된 숙제였다.  웹사이트 유지보수를 담당하던 2009년? 시절, 공통모듈을 수정했을때 이 기능이 모두 잘 동작하는지 확신하기 어렵기 때문에 매번 힘들게 테스트를 반복해야했다.  당시에는 TDD에 심취해있어서, 사이트의 주요페이지에 대한 테스트를 매일 배치로 수행하고, 그 결과를 리포트해주는 화면을 꾸며보고 싶었다. 하지만, 당시에는 이런 기능을 지원하는 툴이 없었다. ruby진영의 watir를 가장 먼저 알게 되었고, selenium 도 사용해보고나서 감동이었지만…당시 운영하던 사이트는 IE기반의 ActiveX를 덕지덕지 붙여놓은 사이트였고, 브라우저 시장도 IE가 꽉 잡고 있었다. 가능성을 확인하고 윗분들에게 설명을 했지만, 금융IT회사였기 때문에 IT에 대한 감동을 느끼게 하기에는 한계가 있었다.

다행히 요즘은 웹표준화라고 해서 거의 모든 사이트에서 브라우저호환성을 지원하고 있다. 어떤 기회로 브라우저를 이용한 배치 프로그램을 작성하려다가, selenium을 찾아보게 되었다. 오랫만에 봤는데… 생각보다 대단하다. chomedriver로 충분할것 같고 headless 기능도 제공하고 있다. python binding을 이용하면 코딩도 엄청 간단하다. 좀 까다로운 file upload를 수행하려니, 사이트 소스를 좀 디버깅해봐야 할 일이 있었지만 너무나 간단하다.

 

 

화면이 저절로 꺼지지 않도록 하기

https://docs.unity3d.com/ScriptReference/Screen-sleepTimeout.html