Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[팁] 테스트중 이미지를 갑자기 찾지 못하는 경우 #70

Open
maxtortime opened this issue Dec 20, 2013 · 0 comments
Open
Labels

Comments

@maxtortime
Copy link

This Tip created by ssmmhh99 | 2013/12/20 17:59:14


GUITAR는 이미지 기반 방식으로 작동되기 때문에 이미지에 민감하게 반응합니다. 테스트할 때 이미지를 찾지 못하는 경우는 크게 2가지 경우로 나눌수 있습니다.

첫째. CSS등 실제 프로그램 수정이 발생되어 화면에 미세 변경이 발생한 경우 -> 이런 경우는 바뀐 이미지로 다시 이미지를 캡쳐해 주셔야 합니다.

둘째. 테스트 환경의 변화로 인한 차이

대부분의 경우가 "테스트 환경" 에 의한 차이 인데요.

일반적으로 "A" PC에서 작업한 스크립트는 "B" PC에서 재생해 보면 거의 100% 중간에 오류가 발생됩니다.

이는 사람이 인지할수는 없지만, 미세하게 화면상에 실제 이미지 차이가 발생되기 때문입니다.

그렇기 때문에 스크립트 작성전에 먼저 테스트를 수행할 PC들에 대해 동일한 테스트 환경을 구축하는것이 중요합니다.

OS, 웹브라우저 버전, 시스템 칼라값, 추가 설치 글꼴, IE 옵션등...

하나의 스크립트로 여러 OS나 다양한 IE버전에 대한 호환성 테스트를 하는것이 목적이 아니라면 테스트 환경은 하나로 통일하는것이 유지보수에 도움이 됩니다.

하나 스크립트내에 멀티OS와 멀티브라우저 환경을 모두 지원하도록 유지보수 한다면 가능은 하지만 유지보수 비용이 만만치 않게 발생됩니다.

그럼 잘 찾던 이미지를 갑자기 찾지 못하는 대표적인 경우들에 대해 확인해 보겠습니다.

  1. IE 옵션의 차이

IE의 경우 버전에 따라 사전에 설정해 주어야 하는 옵션이 있습니다. (사용자 메뉴얼에 브라우저별 사전항목 참조)

옵션에 따라 화면글꼴에 미세한 차이가 발생됩니다.

때문에 이 옵션이 다르게 지정한 곳에서 테스트를 실행하면 이미지를 찾지 못할수 있습니다.

사전에 테스트 스크립트 작성전에 먼저 IE옵션이 제대로 설정되어 있는지 확인할 필요가 있습니다.

(사전에 설정을 확인하지 않고 잘못된 설정으로 이미지를 많이 캡쳐해 두었다면, 다시 전체 이미지를 재캡쳐해야 할수도 있습니다. ㅠㅠ)

  1. IE 버전의 차이

IE 버전에 따라 렌더링 방식이 미세하게 틀려지기 때문에 웹화면에 나타나는 각 오브젝트들의 픽셀 위치가 틀려질수 있습니다.

(링크태그의 밑줄 부분도 높이가 틀려집니다.)

첨부된 이미지 처럼 각 오브젝트들의 위치가 미세하게 틀려 질 수 있습니다.

가능한 특정 대상 브라우저를 지정하고 모든 테스트 환경을 해당 IE버전으로 사용하는것이 좋습니다.

  1. 시스템에 설치된 글꼴의 차이

특정 웹페이지에서는 시스템 글꼴이 아닌 특정 글꼴을 사용해 표시하도록 할수 있습니다.

예를 들면 네이버의 경우 검색결과는 "나눔글꼴"로 표시하여 사용할수 있습니다.

만약 이런 경우 시스템에 해당 글꼴이 설치되어 있지 않은 경우 대체 글꼴인 시스템 글꼴로 표시됩니다.

어떤 PC는 나눔글꼴이 설치되어 있고, 어떤 PC는 글꼴이 설치되어 있지 않다면 이부분에 오류가 발생될수 있습니다.

사전에 웹사이이트에 이런 특수 환경이 있는지 확인하시고, 가능한 글꼴여부도 동일하게 맞춰주시는것이 좋습니다.

  1. 시스템 색상값

윈도우의 색상값이 틀려짐에 따라 이미지를 찾지 못할 수 있습니다.

이는 글꼴보다는 그림과 같은 이미지일 경우 특히 발생될 확율이 높습니다.

24비트 -> 32비트의 차이는 거의 없으나, 16비트 -> 32비트와 같이, 사람 눈에도 차이가 확인될 정도의 차이라면 역시 이미지를 찾지 못할 수 있습니다.

가능한 동일한 색상값을 갖도록 하는것이 좋습니다.

  1. 윈도우 원격접속등 물리적인 PC환경이 아닌 환경에서 테스트 수행

간혹 윈도우 원격접속으로 테스트PC에 접속하여 테스트 자동화 스크립트를 작성하거나, 테스트 수행하는 경우가 있습니다.

원격접속으로 접속된 화면과 실제 화면과는 많이 차이가 발생됩니다.

원격접속 설정정보에 따라 칼라 값이 틀려지고, 화면해상도 테마등도 틀려지게 때문에 테스트중 많은 오류가 발생됩니다.

또한 테스트중 원겹접속 창을 최소화 할 경우 화면이 꺼진 상태로 진입(검정화면)되기 때문에 테스트가 중간에 멈추게 됩니다.

원격접속 보다는 가상PC를 설치하여 그곳에서 테스트 하는것을 권장해 드립니다. (VirtualBox등)

저는 개인적으로 PC에 3-4개의 가상PC를 설치하여 각 가상PC에서 다양한 스크립트를 관리하고 실행하고 있습니다.

메인PC가 잠금상태가 되더라도 가상PC는 그대로 작업상태를 유지하기 때문에 편리하고 안정적입니다.

대표적인 이미지 찾지 못하는 원인에 대해 설명해 드렸습니다.

이외에도 예기치 못한 상황으로 이미지를 찾지 못하는 현상이 발생될 수도 있습니다.

혹시 잘 되던 스크립트가 갑자기 이미지를 찾지 못한다면 100% 캡쳐된 이미지와 실제 화면에 나타난 이미지가 틀린 것입니다.

이를 쉽게 확인해 볼수 있는 방법은 에러가 발생된 웹페이지를 캡쳐하여 그림판등에서 최대 확대 하시고.

GUITAR의 찾고자 하는 이미지도 그림판으로 열어 확대해서 서로를 픽셀단위로 비교해 보면 쉽게 차이를 확인할수 있습니다.

(첨부된 예제 이미지도 단순 그림판으로 비교하여 확인한 결과 입니다.)

혹시라도 위와 같이 모든 설정을 했지만, 원인을 알수 없이 이지미가 틀리게 나온다면 해당 틀린 이미지도 정답 이미지로 간주해서 추가로 캡쳐해서 사용하시면 됩니다.

(캡쳐시 이미지명 뒤에 "_..."를 추가해서 지정하시면 됩니다. 예) 즐겨찾기버튼_XP,. 즐겨찾기버튼_IE11)

귀찮다고 이미지 오류가 날때마다 "_"를 추가해서 이미지를 추가 캡쳐해 두시면 계속 이미지가 증가 할수 있음으로 유지보수 비용이 늘어날수 있습니다.

적정선에서 추가캡쳐하시고, 계속 이미지가 달라진다면 원인을 찾아 이를 해결해 주시는것이 좋습니다.


Attachments

  • dot.png

    dot.png

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant