티스토리 뷰

반응형

 

안녕하세요 :) Zedd입니다.

지금..어이없는 이유로..UITest가 실패하고 있네요..그래서 기록해보고자합니다! :D

문제

~ UITest쪽 ~

 XCTAssertTrue(homeButton.isSelected)

분명 위 버튼은 무조건!!!! isSelected가 true임에도 불구하고 false가 나온다는 점입니다.

이거때문에 UITest가 실패하고 있어요.....

 

원인

원인은 보이스오버 대응시 이런저런 사정으로 인해...

~ App Code쪽 ~

homeButton.accessibilityTraits = .none

accessibilityTraits을 none으로 준 상황입니다.

여기에 따르면, XCUIElement의 isSelected프로퍼티는 accessibilityTrait에 따라 다르다고 해요.

 

기본적으로 homeButton은 UIButton 때문에 accessibilityTrait은 기본적으로 button이지만,

제가 none으로 줬으니..isSelected가 작동을 안하는 것으로 추측이 됩니다.

이런식으로 accessibilityTraits을 override해줘서 해결합니다.

저는

homeButton.accessibilityTraits = .none

이렇게 accessibilityTraits을 none으로 줬지만,

값을 가져올 때는 isSelected상태면 selected상태를 반환하는 것이죠.

accessibilityTraits을 건드리지 않는 것이 가장 좋겠지만...저는 어쩔 수 없는 상황이네요 :)

 

그냥 UIButton extension으로는 해결이 안됩니다 ㅠㅠ

 

참고 :

stackoverflow.com/a/55009017

반응형