cypress 를 사용해 modal 에 접근하는 방법을 모르겠습니다
439
작성한 질문수 21
상품등록 페이지를 cypress 를 통해 test 해보던 도중 kakao map 을 사용해 주소입력 하는 부분에서 문제가 발생하고 있습니다. 개발자 도구를 사용해서 kakao map 의 input 의 class 확인해 해당 class name 으로 get()요청을 했지만 인식을 못하고 있습니다
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
kyb1208tg님, Cypress를 사용하여 모달에 접근하는 데 어려움을 겪고 계신 것 같네요.
Cypress에서 모달이나 팝업과 같은 요소에 접근할 때는 해당 요소가 DOM에 존재하는지 먼저 확인해야 합니다. Kakao Map의 input 요소를 찾을 때 cy.get() 함수를 사용하는 것은 맞습니다만, 모달이나 팝업이 동적으로 생성되고 사라지기 때문에 실제 DOM에 요소가 로드되었는지 확인해야 합니다.
또한, Cypress로 테스트할 때에는 iframe 내부의 요소에 접근하기 위해서는 추가적인 처리가 필요합니다. 만약 Kakao Map이 iframe을 사용하여 렌더링 되고 있다면, 직접적으로 cy.get() 함수를 사용하여 접근할 수 없습니다.
이 경우 cy.get() 함수를 사용하여 iframe을 먼저 찾아낸 다음에 해당 iframe의 content에 접근하여 테스트를 진행해야 합니다. 아래는 iframe 내부 요소에 접근하는 예시 코드입니다:
cy.get('iframe').then($iframe => {
const $doc = $iframe.contents();
cy.wrap($doc.find('.input-class-name')).type('주소 입력');
});
위 코드에서 .input-class-name은 Kakao Map의 input 요소에 대한 실제 클래스 이름으로 교체해야 합니다. 이렇게 해서 iframe 내부의 문서에 접근하여 원하는 요소를 찾을 수 있습니다.
만약 위 방법으로도 해결되지 않는다면, 어떤 오류 메시지가 출력되는지, Cypress의 cy.get() 함수가 실패하는 부분의 코드 등 보다 구체적인 정보를 제공해주시면 문제를 해결하는데 도움이 될 것입니다.
도움을 드리기 위해 더 많은 정보를 주시면 감사하겠습니다.
fetchBoardsOfMine, fetchBoardsCountOfMine 에러 문의드립니다
0
40
1
댓글 기능 구현 중 질문드립니다.
0
66
1
쿠폰코드 발급
0
135
2
example 서버 플레이그라운드, API 접속 모두 안됩니다.
0
87
2
문의드립니다!! ㅠㅠ
0
102
2
graphql 백엔드 서버가 포폴용 빼곤 접속이 안됩니다.
0
77
2
_app.js 작성 이후로 에러가 발생하네요
0
95
2
학습자료
0
71
2
학습자료가 안열립니다.
0
50
2
플레이 그라운드 퀴즈 문제 질문이 있습니다.
0
61
0
기존강의 구매자, 업데이트 끝인가요?
0
110
3
업데이트 버전 수강
0
89
2
완벽한 프론트엔드
0
136
2
나만의 쇼핑몰 샘플 페이지 접속 확인부탁드립니다.
0
84
1
graphql 접속이 안됩니다.
0
101
2
const, let 사용 질문 드립니다.
0
70
2
싸이월드 만들기 1탄 피드백 부탁드립니다.
0
122
2
회원가입 과제 피드백 부탁드립니다.
0
81
2
styled.span / styled.input "CSS 자동완성"
0
47
1
쿠폰 발급 관련
0
166
2
서버 502 error
0
247
2
쿠폰 다시 부탁드려도 될가여?
0
140
2
a태그 패딩했을때 왜 크기가 줄어들지 않고 늘어나나요
0
185
2
2분 44초 질문
0
132
3





