Detox로 React-Native WebView를 테스트하는 방법

마침내 Detox를 사용하여 WebView에 대한 종단 간 테스트를 작성할 수 있습니다!

... 어쨌든 Android에서.

현재 iOS는 지원하지 않습니다. 그러나 그것은 미래에 바뀔 가능성이 있습니다. 또한 Android에서 테스트할 수 있는 기능이 있지만 Detox의 문서는 webview 테스트를 포함하도록 공식적으로 업데이트되지 않았습니다. 이것은 작업이 진행 중이고 상당히 조용 할 수 있음을 시사합니다 .

그럼에도 불구하고 Android에서 웹뷰를 테스트할 수 있다는 것은 개발자 입장에서 여전히 큰 도약입니다!

앱에 WebView를 추가하는 방법

WebView를 포함하려면 react-native-webview패키지를 package.json. WebView구성 요소를 가져 오고 아래와 같이 소스를 전달합니다.

testID테스트를 실행할 때 해독을 통해 찾을 수 있도록 WebView 에 포함해야 합니다 .

웹뷰에 대한 테스트를 작성하는 방법

이 예에서는 Twitter 로그인 페이지를 사용하고 있습니다. 사용자가 다음을 수행할 수 있도록 허용합니다.

  • 사용자 이름 입력
  • 비밀번호를 입력하세요
  • 그리고 클릭 로그인 버튼을

때때로 webview가 로드되는 데 시간이 걸리므로 테스트를 실행하기 전에 로드가 완료되도록 지연을 추가하는 것이 유용할 수 있습니다.

아래에서 볼 수 있듯이 Detox의 웹 개체를 사용하여 뷰와 상호 작용하고 찾은 요소에 대해 주장할 수 있습니다.

DOM 요소 찾기:

Detox의 웹 은 Android의 Expresso-Web을 기반으로 하며 DOM 요소를 선택하기 위한 기능 목록을 제공합니다.

  • id — id로 DOM 트리에서 요소를 찾습니다.
  • text — CSS 클래스로 DOM 트리에서 요소를 찾습니다.
  • cssSelector - 주어진 CSS 선택기와 일치하는 DOM 트리에서 요소를 찾습니다.
  • name — "name" 속성으로 DOM 트리에서 요소를 찾습니다.
  • xpath — XPath로 DOM 트리에서 요소를 찾습니다.
  • href— <a>링크 텍스트로 DOM 트리 에서 요소를 찾습니다.
  • hrefContent— <a>부분 링크 텍스트로 DOM 트리 에서 요소를 찾습니다.
  • tag — 태그 이름으로 DOM 트리에서 요소를 찾습니다.

요소를 찾은 후 다음과 같은 자체 설명 방법을 사용하여 사용자 상호 작용을 시뮬레이션할 수 있습니다.

  • tap
  • typeText
  • getText
  • clearText
  • replaceText
  • scrollToView
  • getCurrentUrl
  • getTitle
  • runScript
  • runScriptWithArgs

Detox web은 또한 재미있는 matchers 세트와 함께 제공됩니다.

  • toExist()
  • toNotExist()
  • toHaveText()
  • toNotHaveText()

가능성은 무한합니다!

Suggested posts

뇌졸중의 치명적인 결과 피하기: 가족의 여정에서 배우기 .

뇌졸중의 치명적인 결과 피하기: 가족의 여정에서 배우기 .

머리말 뇌졸중은 누구에게나 언제든지 닥칠 수 있는 의학적 응급 상황입니다. 뇌의 한 부분으로의 혈류가 중단되어 갑작스러운 뇌 기능 상실로 이어질 때 발생합니다.

다중 모듈 프로젝트에서 Dagger2에서 Hilt로 마이그레이션

다중 모듈 프로젝트에서 Dagger2에서 Hilt로 마이그레이션

다중 모듈 프로젝트에서 Dagger에서 Hilt로 마이그레이션하기 위한 단계별 가이드입니다. 프로젝트 구조 프로젝트를 시각화하기 위해 NetworkModule, StorageModule, CommonModule, FeatureModule 등 여러 모듈을 포함합니다.

Related posts

카우보이의 거짓말

거대 기업이 미국인에게 강력한 거짓을 판매하는 방법

카우보이의 거짓말

햇빛의 첫 번째 광선이 평원의 서리가 내린 풀을 비추는 서쪽 언덕의 눈부신 황금빛 아침입니다. 온화하고 거대한 새까만 앵거스 소 떼가 일출을 배경으로 윤곽을 그리며 다져진 길을 따라 모두가 잘 아는 지역으로 향합니다. 조식 바.

Work Week에서의 학습은 생각보다 중요합니다.

Work Week에서의 학습은 생각보다 중요합니다.

우리는 종종 우리에게 좋다고 알고 있는 것을 구현하는 데 어려움을 겪고 있습니다. 중요한 다른 사람에게 우리가 그들을 사랑한다고 말하는 것부터 해적처럼 이야기하는 것을 기억하는 것까지, 그들이 이미 그런 일을 하고 있기 때문에 하루, 일주일 또는 한 달의 이벤트가 필요하지 않다고 주장하는 사람들이 항상 있을 것입니다.

Goodreads 읽기 챌린지는 독성이 있습니다.

Goodreads 읽기 챌린지는 독성이 있습니다.

지역 서점과 또 다른 책을 흥정하면서 손에 가려움증이 퍼졌습니다. 내가 최근에 구입한 나머지 책과 같은 이 책은 내 'To Be Read'(TBR) 더미에서 왕좌를 찾을 것입니다. 그러나 나는 그것을 샀다.

위협 사냥을 위한 OSINT 수집

위협 사냥을 위한 OSINT 수집

안녕하세요, 사이버 애호가 여러분! 위협 사냥 시리즈에 대한 OSINT에 다시 오신 것을 환영합니다. 첫 번째 기사에서는 OSINT에 대한 개요와 위협 사냥에서의 중요성에 대해 설명했습니다.