deeplink using driver.get()

Dahun Yoo·2024년 2월 11일
0

Appium with python

목록 보기
12/13
post-thumbnail

선 결론

서비스하고 있는 프로덕트가 앱이라면, 화면마다 특정 링크로 이동할 수 있는 딥링크 deeplink 를 사용하고 있을 수 있습니다. (없을 수도 있음)

Appium에서는, 이 딥링크를 이용해서 이동하고자하는 화면/기능 으로 빠르게 이동할 수 있습니다.

내용

딥링크, Deepplink

웹링크가 사용자를 특정 웹사이트로 이동시키듯이, 딥링크는 사용자를 특정 앱으로 이동시켜서 원하는 화면을 보여주거나, 사용자 액션을 유도해요. 예를 들어, 사용자가 온라인 쇼핑몰에서 결제 수단으로 토스페이를 선택해요. 그럼 아래 그림에 있는 왼쪽 화면이 나오고 '다음'을 누르면 토스 앱의 결제 페이지로 이동하죠. 딥링크를 사용했어요! 이렇게 딥링크는 앱의 사용자를 늘리고 싶을 때나 마케팅 캠페인을 할 때 굉장히 유용해요.

https://docs.tosspayments.com/resources/glossary/deep-link

딥링크는 보통 아래와 같은 형태로 구성되어있습니다.

https://docs.tosspayments.com/resources/glossary/deep-link

스키마 부분을 제외하면, 우리가 흔히 볼 수 있는 웹링크의 형태와 매우 유사합니다.

스키마 부분은 프로덕트의 고유한 문자열로 구성되어있을 것입니다. 여기서 주의해야할 점은, 다른 서비스에서도 해당 스키마를 사용할 수 있어서, 외부로 공개되는 일은 가능한 없어야겠습니다.

appium을 이용하여 테스트 자동화를 수행할 때도 이 딥링크를 사용할 수 있습니다.

driver.get("app://login?userId=test&password=test")

이런식으로, 특정 url로 이동할 때 사용하는 get() 을 이용해서 바로 원하는 페이지로 이동할 수 있습니다.

테스트의 형태에는 여러 형태가 있을 수 있습니다.

유저 시나리오 기반으로, 유저가 사용하는 시나리오를 상정하고 그것을 수행해야하는 테스트라면, 해당 시나리오를 수행할 때까지 모든 화면을 다 거쳐야하므로 이런 경우에는 딥링크가 불필요할 수 있습니다.

그러나 시나리오가 기반이 아니라 특정 기능/화면을 테스트해야하고 해당 기능/화면으로 접속하기에 까지 다른 기능과의 의존관계가 없다고 한다면, 딥링크를 이용해 테스트해야할 기능으로 바로 이동할 수 있을 것 입니다. 이 경우에 딥링크를 이용하여 테스트 실행시간을 줄일 수 있을 것 입니다.

ref

profile
QA Engineer

0개의 댓글