2017-11-24 16 views
1

sikuli에서 데스크톱 응용 프로그램을 자동화하려고합니다. 기존 사용자의 데이터를 복사하고 일부 데이터를 사용하여 새 사용자를 만드는 중입니다. 폼에는 두 개의 확인란이 있습니다. 그 확인란이 기존 사용자에 대해 체크되어 있으면 새 사용자를 만드는 동안 텍스트 상자를 확인해야합니다. 왜냐하면 체크 된 텍스트 상자 이미지를 가져 와서 if 조건을 부여하기 때문입니다. 체크 된 텍스트 상자 이미지가 해당 페이지에 있으면 변수 1에 값 1을 전달합니다. 다른 값은 0이됩니다. 새 사용자 생성 페이지에서이 확인란의 선택을 취소하면됩니다. 하지만 내가 직면 한 문제는 그 이미지가 그 페이지에 있는지 아닌지 sikuli에 있는지 확인할 수 없다는 것입니다. 아무도 도와주세요. 내 코드가 아래에 부여됩니다sikuli에서 이미지가 화면에 존재하는지 확인하는 방법

int bomanager=0; 
      int boswitchboard=0; 

      System.out.println("boswitchboard value before assign it to 1" + bomanager); 
      if (screen.exists("images/backofficeswitchboardwithtick.png") != null) 
      { 
       boswitchboard=1; 
       System.out.println("boswitchboard value after assign"+boswitchboard); 
      } 

      System.out.println("bomanager value before assign it to 1" + bomanager); 
      if(screen.exists("images/backofficemanagerwithtick.png") != null) 
       { 
        bomanager=1; 
        System.out.println("bomanager value after assign it to 1"+bomanager); 
       } 

다음이 값을 사용하여 아래 기능을 수행해야합니다.

if(exists("yourUrlImage")!=null) (do something when exists) else (do another thing when not exists)

원인 :

System.out.println("Before condition" + bomanager); 
      if (bomanager ==0){ 
       screen.click("images/backofficemanagerwithtick.png"); 

      } 

      screen.setAutoWaitTimeout(10); 

      System.out.println("Before condition" + boswitchboard); 

      if(boswitchboard==0){ 
       System.out.println("Inside To tick Condition" + boswitchboard); 
       System.out.println("Ticking the SwitchBorad when itsnot already ticked"); 
       screen.click("images/backofficeswitchboardwithtick.png"); 

      } 
+0

실제 문제는 무엇입니까? "* 이미지가 있는지 * 확인할 수 없다"는 말은 무엇을 의미합니까? –

답변

0

난 당신이 여기에 방법이 방법 exists() 내가 일반적으로 사용과

if exists(img, timeout): click(img) else: ....

1

"존재하는 경우"를 사용 찾고 asssuming있어 "일치"개체를 반환합니다.

희망 하시겠습니까?