-
회사 몰래 하는 Appium 테스트 자동화TDD/Appium 2021. 12. 30. 16:43
나는 개발자다.
분명 사내 직무란에도 SW개발 이라고 적혀있는데 지금 약 한 달 째 통합테스트를 하는 테스터가 되었다.
엑셀에 작성된 시나리오대로 (근데 이것도 시나리오가 현행화가 전혀 안 되어있다) 모바일뱅킹 시스템을 테스트하면서
ALM에 결함을 올리고 조치 확인을 하고 또 엑셀에 작성을 하고 ... 이런 일을 지금 한 달 간 하고 있다.
말이 안 된다. 심지어 시나리오가 현행화가 안 되어 있어서 UI설계서를 보면 UI설계서가 또 다르고 앱은 또 다르게 동작한다. 뭐가 기준이 되어야 하는지 각 담당자들한테 계속 물어봐야 하고 현행화를 요청하고 현행화가 된 엑셀파일을 기준으로 다시 검수를 해야 한다... 설계도, 시나리오도 시시각각 바뀌어서 아주 골치가 아픈데
비교적 간단한 일부 조회성 테스트 시나리오들은 내가 아니라 자동화 테스트 도구가 대신 해줬으면 좋겠다는 마음으로 Appium을 퇴근 후 사무실에서 몰래 시작하게 되었다.
Appium은 iOS/ Android/ Windows 세 가지 platform을 지원하고 있다.
네이티브 및 하이브리드 앱의 UI 테스트를 자동화할 수 있다고 하니 한번 나와 함께 시작해보자.
준비물은 아래와 같다.
1. 안드로이드 스튜디오와 이클립스를 설치하자. (당신의 컴퓨터에 JDK는 있다고 믿는다. 없으면 그것도 설치하길.)
https://developer.android.com/studio
Download Android Studio and SDK tools | Android Developers
<!-- hide description -->
developer.android.com
https://www.eclipse.org/downloads/
Eclipse Downloads | The Eclipse Foundation
The Eclipse Foundation - home to a global community, the Eclipse IDE, Jakarta EE and over 415 open source projects, including runtimes, tools and frameworks.
www.eclipse.org
2. Eclipse 용 TestNG를 설치해야 한다.
TestNG는 자동화 테스트 프레임워크인데 성공, 실패, 건너 뛴 테스트 케이스 수를 쉽게 알 수 있고 보고서도 만들어 준다고 한다. 실패한 테스트 케이스들만 별도로 실행할 수 있다는 것도 TestNG의 장점이다. 주석(@)을 사용하는 JUnit의 영감을 받았다고 한다.
이클립스 마켓 플레이스에서 설치할 수 있다.
3. Selenium 서버 JAR 설치
혼란스럽다... 셀레늄은 무엇이며 TestNG는 또 무슨 역할을 하는가...
Selenium WebDriver는 가장 인기있는 오픈 소스 웹 사이트 자동화 도구 중 하나인데,
차차 다뤄보겠지만 셀레늄만으로는 테스트 결과에 적합한 형식을 제공하지 않는다고 한다. 셀레늄 사용자는 이점 때문에 JUnit 이상을 사용한다고 하는데 (출처: https://testmanager.tistory.com/123) TestNG를 함께 쓰면 병렬테스트가 가능하고, 테스트 사례를 쉽게 그룹화할 수 있다.
4. Appium Client Library
http://appium.io/docs/en/about-appium/appium-clients/index.html
The Appium Clients - Appium
From here you can search these documents. Enter your search terms below.
appium.io
위 라이브러리는 표준 Selenium 클라이언트 라이브러리를 포함하여 JSON Wire 프로토콜이 지시하는 모든 일반 Selenium 명령을 제공하고 멀티 터치 제스처 및 화면 방향 과 같은 모바일 장치 제어와 관련된 추가 명령을 추가한다고 한다.
5. Selenium WebDriver 명령들
사실 다른 Appium 튜토리얼들을 보면서 딱히 이걸 준비하라고는 안 했지만 위의 라이브러리를 보니까 셀레늄의 명령들은 기본적으로 알고 가야 할 것 같아서 추가해 보았다.
https://ko.myservername.com/top-25-selenium-webdriver-commands-that-you-should-know
알아야 할 상위 25 가지 Selenium WebDriver 명령 - 셀레늄 튜토리얼
이 Selenium 튜토리얼 시리즈를 진행하면서 우리는 일반적으로 일상적으로 사용되는 다양한 Selenium WebDriver 명령을 압박 할 것입니다. 이러한 셀레늄 명령을 각각의 예와 함께 자세히 설명했습니다
ko.myservername.com
6. Appium Desktop 설치
Appium: Mobile App Automation Made Awesome.
Appium Philosophy Appium is built on the idea that testing native apps shouldn't require including an SDK or recompiling your app. And that you should be able to use your preferred test practices, frameworks, and tools. Appium is an open source project and
appium.io
이제 준비는 끝났으니 하나하나 환경설정을 해보실까?
출처
Appium 튜토리얼 : https://testmanager.tistory.com/299
Android 및 iOS 모바일 앱 테스트를 위한 APPIUM 튜토리얼
Appium이란 무엇입니까? APPIUM은 무료로 배포되는 오픈 소스 모바일 애플리케이션 UI 테스팅 프레임워크 입니다. Appium은 기본, 하이브리드 및 웹 응용 프로그램 테스트를 할 수 있고 에뮬레이터
testmanager.tistory.com
TestNG 튜토리얼 : https://testmanager.tistory.com/123
TestNG 튜토리얼 : 주석, 프레임 워크, Selenium 예제
TestNG는 무엇입니까? TestNG는 NG가 "차세대"를 나타내는 자동화 테스트 프레임 워크입니다. TestNG는 주석 (@)을 사용하는 JUnit 에서 영감을 얻었습니다 . TestNG를 사용하면 적절한 보고서를 생성
testmanager.tistory.com
TestNG install : https://ko.myservername.com/testng-installation-basic-program
TestNG 설치, 기본 프로그램 및 보고서 - 다른
이 튜토리얼은 TestNG 설치를 다룹니다. 또한 기본 TestNG 프로그램을 실행하고 TestNG에서 테스트 실행 후 생성 할 수있는 보고서를 확인합니다.
ko.myservername.com
Selenium에 대한 이해 : https://blog.naver.com/neos_rtos/221731341041
Selenium WebDriver 소개
Selenium WebDriver 소개 Selenium WebDriver에 대해 설명 드리고, Ranorex와 같이 활용하여 Web ...
blog.naver.com