일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- JavaScript
- Git
- Spring
- 자바
- 시큐리티
- 쿼리
- 프로그래머스
- error
- mybatis
- 알고리즘
- 방법
- GitHub
- 생성
- 스프링
- 오라클
- oracle
- Eclipse
- kotlin
- 넥사크로
- Java
- Security
- 코틀린
- JPA
- IntelliJ
- jquery
- aws
- 에러
- db
- 함수
- Vue
- Today
- Total
송민준의 개발노트
Appium을 이용한 QA 자동화 본문
QA 자동화를 하는 이유
이번에 회사에서 조직개편이 되면서 새로운 프로젝트를 맡았는데 QA팀의 지원을 받을 수가 없다.
내가 QA까지 해야하는데 TC 개수가... 너무 많아 자동화를 생각하게 됨!
Appium ?
Appium은 모바일 애플리케이션의 자동화 테스트를 위한 오픈 소스 도구이다. Appium은 네이티브, 하이브리드, 모바일 웹 애플리케이션을 테스트할 수 있다. 이는 Selenium의 철학을 모바일 환경에 적용한 것으로, 다양한 플랫폼에서 일관된 API를 제공하여 테스트를 자동화할 수 있게 한다.
Appium 특징
- 크로스 플랫폼 지원: Appium은 iOS와 Android 모두를 지원합니다.
- 언어 독립적: 다양한 프로그래밍 언어로 작성된 테스트를 지원합니다. Java, JavaScript, Python, Ruby, C#, PHP 등 Selenium WebDriver와 호환되는 모든 언어를 사용할 수 있습니다.
- 웹드라이버 프로토콜: Selenium WebDriver 프로토콜을 사용하여 모바일 애플리케이션을 제어합니다.
- 코드 수정 불필요: 애플리케이션의 소스 코드를 수정하지 않고도 테스트를 수행할 수 있습니다.
사전 설치 SDK
- Android SDK (ANDROID_HOME 환경변수)
- Java SDK (JAVA_HOME 환경변수)
- Node (LTS 18이상 권장)
- NPM 8버전 이상
- 파이썬
Appium 설치
npm i -g appium
Appium 실행
appium --allow-insecure chromedriver_autodownload
// 뒤에 드라이버 옵션이 붙어야 adb 상 크롬드라이버가 자동으로 세팅됨
UIautomator2 설치
appium driver install uiautomator2
Appium Doctor 설치
npm install appium-doctor -g
// Doctor 기능확인
appium-doctor -h
// 버전확인 및 appium 진단
appium-doctor --android
Appium-inspector 설치
https://github.com/appium/appium-inspector/releases 에서 각 OS에 맞는 것 다운 후 설치
테스트 개발 언어는 파이썬
pip install Appium-Python-Client
혹시나 권한 관련 오류가 난다면 아래와 같이 해주자( java.lang.SecurityException)
adb shell pm list users
0번 유저 외에 user가 있다면 삭제를 해주면 된다.(그 유저는 권한이 없을 것)
adb shell pm remove-user 150 (150번일 경우)
사용자 전환 해주면 끝
adb shell am switch-user 0
다음으로 테스트결과에 대한 리포트를 보여주는 패키지 설치가 필요하다.
(powershell)
// 정책변경(보안문제로)
Set-ExecutionPolicy RemoteSigned -scope CurrentUser
// apt 같은 패키지 도구 scoop 설치
iwr -useb get.scoop.sh | iex
// allure 설치
scoop install allure
환경변수 설정
// 아래경로 환경 변수 Path 에 추가
C:\Users\유저명\scoop\apps\allure\current\bin