2017-03-22 1 views
2

Sikuli (Selenium과 함께)에서 UI 테스트의 시각적 요소를 자동화 할 수있는 가능성을 보았습니다. 특히 예상되는 브랜딩이 적용되지 않은 경우 문제가 발생할 수 있습니다.Sikuli, Java & Selenium - 이미지 배경색 변경 감지 방법?

제 테스트에서 흰색 탐색 아이콘 이미지가 자주색 탐색 모음에 있습니다. 나는 보라색 배경에 앉아있는 흰색 아이콘의 화면을 잡아서 Sikuli 테스트 클래스에서 패턴으로 사용했습니다. 그런 다음 탐색 바가 빨간색으로 표시되도록 웹 앱에서 CSS를 변경하면 테스트가 실패합니다.

불행히도 배경색 변경은 무시되며 아이콘은 무관하게 클릭됩니다. 패턴의 유사도 값을 1f (즉, 완전 일치)로 설정하면 아이콘이 클릭되지 않습니다. 그러나 탐색 모음의 색상을 올바른 보라색으로 변경하면 패턴에 사용중인 아이콘 스크린 샷과 일치하므로 아이콘을 클릭하지 않습니다.

"유사한"매개 변수 값이 0에서 0.9까지이면 탐색 모음 색에 관계없이 테스트를 다시 통과 할 수 있습니다.

Sikuli의 능력에 대한 제한입니까, 아니면 누락 되었습니까?

편집 : 레드 패턴에 흰색 아이콘을했다 웹 페이지에 자주색 패턴에 흰색 아이콘과 일치 할 때

그래서 제가 비슷한 질문에 THIS ANSWER을 발견하고는 점수를 확인하는 나를하라는 메시지가 반환 보라색 브랜딩. 양쪽에 대한 점수는 0.9 이상이었고 소수점 둘째 자리와의 차이가 있었기 때문에 패턴의 "비슷한"속성을 0.9로 설정했을 때 둘 다 일치했습니다.

아이콘 크기와 관련하여 더 많은 배경을 포함하도록 스크린 샷 영역을 늘리라는 메시지가 표시되었습니다. 이 결과는 자주색 패턴의 흰색은 0.9x, 빨간색은 흰색의 0.7x로 나타났습니다.

내 결론은 일치하는 배경색을 고려하지만, 사용하는 스크린 샷 패턴의 대부분이 동일한 색상 인 경우 스코어의 차이는 분입니다.

답변

0

아이콘 바로 뒤의 배경을 우회하여 그 옆을 볼 수 있습니까? 코딩에 대한 지식 부족으로 해결 방법을 찾을 수 없습니다.

exists (icon): 
    if exists(whitebg): #capture a small area with just the color near the icon 
     pass 
    if exists(redbg): 
     fail