:엑스 코드 UI 테스트, 시나리오에 따라 개발 언어, 대체 번역 및 CI 서버
내가 자동으로 CI 서버 (CircleCI)의 모든 자식 푸시 테스트 장치와 UI를 취득하는 아이폰 OS 프로젝트를 보내고 있습니다. 테스트는 앱 스토어의 스크린 샷을 자동으로 생성하는 데 사용되는 패스트 레인으로 실행됩니다.
이제 프로젝트가 여러 언어로 번역됩니다. 나는 이것이 할 것입니다 생각
app.navigationBars.buttons["Confirm"].tap()
let buttonTitle = NSLocalizedString("navbar.confirm", comment: "")
app.navigationBars.buttons[buttonTitle].tap()
에 : 나는 추월 차선은 모든 언어 (스크린 샷을 할 수 있도록) 작업 할, 그래서 나는이 같은에서 UI 테스트를 변경 트릭,하지만 그렇지 않습니다. 나는 시뮬레이터가 CircleCI 구성하는 방법을 모르겠지만 UI 테스트는 이제 실패로
[0시 46분 34초] : ▸ testDashboard, 찾기 일치하는 항목이 발견되지 : " '네비게이션 바을 조건에 일치하는 요소. 언어가 번들의
preferredLanguages
목록에없는 아마 때문에, 입력 {(CFBundleDevelopmentRegion
설정 대체 언어가 존중되지 않는 몇 가지 이유 그래서
에서 " '식별자 IN 확인합니다.이 자체에 문제가 어떤 경우에도 최종 사용자에게 키가 표시되는 것을 원하지 않습니다. 결코 이런 일이 발생하지 않도록하고 싶습니다.
그래서 NSLocalizedString(..)
이 키를 반환하는지 확인하고 기본 (en
) 번들을로드하고 그런 식으로 현지화 된 문자열을 가져 오는 NSLocalizedString
에 대한 래퍼를 작성하여이를 수정하려고했습니다.
UI 테스트에서 다른 번들을로드 할 수없는 것 같습니다. 테스트가 중단되고 실패합니다. 그래서이 해결 방법을 사용할 수 없습니다.
나는 명백한 해결책을 간과하고 있습니까? 나는이 문제가있는 유일한 사람이 될 수 없다, 그렇지? 어떤 힌트?
실제로 이것은 일을하는 데 더 나은 방법입니다. 나는 이것이 가능한지 궁금해했지만, 나는 식별자가 아닌 접근성 라벨을 우연히 발견했다. 공유해 주셔서 감사합니다. – JanBrinker