이전 시큐리티기능을 사용하지 않고 따로 히든텍스트라든 변수를 정의해줘서 비밀번호 가리고 보이고하는 기능을 구현해놨었다

해당 스크린을 테스트하기위해 테스트코드를 짜놨었는데....

 

이번 최신 버전을 배포하던중 텍스트필드에 중대한 버그가 발견되어 텍스트필드의 시큐리티 기능을 이용하는 방식으로 전환했다

그리고.. 그 이후로 UI테스트코드를 통과하지 못하고있다

도저히 잘못된점을 모르겠어서 뷰를 하나하나 스택쌓아가듯이 찾아 나아가보지만 여전히 해당 아이디를 가진 텍스트필드를 찾을 수 없다고 오류를 뱉고있었다.

 

나의 이 멍청한 시도를 다른이는 하지 않기를 기도하며 문제점을 여기에 적는다

나는 해당 부분을 이렇게 정의하며 찾아보고있었다.

- 라인2 오류 -

let loginvcContentView = app.otherElements["loginvcScrollViewContentView"]
let pwTextField = loginvcContentView.textFields["loginvcPwTextField"]

UITest에 대해 누가 알려주지 않아 거의 그냥 막코딩이라 변수이름이라던가 방법은 그냥 넘어가줬으면 좋겠다

문제는 loginvcContentView에서 찾는 엘레먼트 타입이였다.

텍스트필드에

textField.isSecureTextEntry = true

라고 정의를 해주면 textFields로는 찾을 수 없고

아래와 같이 해줘야한다.

let loginvcContentView = app.otherElements["loginvcScrollViewContentView"]
let pwTextField = loginvcContentView.secureTextFields["loginvcPwTextField"]

그렇다 

저 속성하나 켜줬다고 textField가 아닌 secureTextFields로만 찾을 수 있게되었다.

망할

 

'iOS > swift' 카테고리의 다른 글

No such module ~~ 설치되지 않는 Snapkit 문제  (0) 2023.04.12
ios - Admob 에러코드 메모  (0) 2023.03.21
Alamofire.AFError Code  (0) 2022.10.06
Block Based KVO, iOS - contentSize  (0) 2022.09.27
Date 끼리의 비교  (0) 2022.08.04

+ Recent posts