2016-10-28 8 views
0

시나리오 : 다른 유형의 광고가 있습니다. 하나는 버튼에서 클릭 할 수 있고 다른 하나는 전체 광고에서 클릭 할 수 있습니다. 광고가 올 때 테스트해야합니다. 첫 번째 테스트는 버튼을 클릭하고, 그렇지 않으면 다른 유형을 클릭하십시오. appium에서는 첫 번째 if 조건에서 요소를 찾지 못하면 테스트가 실패합니다. 여러 조건이 실패했다고 선언하기 전에 어떻게 여러 조건을 테스트 할 수 있습니까?Android Appium : 테스트가 실패했다고 선언하기 전에 여러 조건을 먼저 테스트하십시오.

답변

1

여러 가지 방법이 있습니다. 파이썬에서 나는 뭔가 '로 갈 것 : 로케이터이 페이지에서 볼되지 않은 경우 기본적으로

locators = ['.someClass', '#someID'] 
    for locator in locators: 
     el = self.driver.find_elements_by_css_selector(locator) 
     if len(el) == 1: 
      break 
     elif len(el) == 0: 
      el = None 
     else: 
      self.fail('multiple elements: %s found: %d' % locator, len(el)) 
    self.assertIsNotNone(el, '> 1 matches found on page: %s' % locator) 
    el.click() 

, 우리는 없음으로 엘을 설정하고 다른 로케이터를보십시오. 로케이터 (귀하의 경우 단추라고합시다)가 메서드 중단보다 발견되었습니다. 로 I이> 1을 찾으면 실패합니다. 이 기능을 사용하려면 고유 한 로케이터를 정의해야합니다.

+0

자바를 찾고있었습니다. 지금 내가 사용하고있는 가장 효율적인 방법은 중첩 된 try catch 메서드입니다. 도움이됩니다. – rohan