diff --git a/fastfive-auto-app-dev/Makefile b/fastfive-auto-app-dev/Makefile new file mode 100644 index 0000000..d14826f --- /dev/null +++ b/fastfive-auto-app-dev/Makefile @@ -0,0 +1,37 @@ +SHELL = /bin/bash + +.PHONY: appium venv test login reservation entrance-card entrance-card-issue lounge my-account home-inquiry + +# ─── Appium 서버 실행 ───────────────────────────────────── +appium: + appium + +# ─── 가상환경 활성화 ────────────────────────────────────── +venv: + source venv/bin/activate + +# ─── 전체 테스트 ───────────────────────────────────────── +test: + source venv/bin/activate && python -m unittest app_suite_runner + +# ─── 개별 테스트 ───────────────────────────────────────── +login: + source venv/bin/activate && python -m unittest app_suite_runner.LoginTest.test_login + +reservation: + source venv/bin/activate && python -m unittest app_suite_runner.ReservationTest.test_reservation + +entrance-card: + source venv/bin/activate && python -m unittest app_suite_runner.EntranceCardTest.test_entrance_card + +entrance-card-issue: + source venv/bin/activate && python -m unittest app_suite_runner.EntranceCardIssueTest.test_entrance_card_issue + +lounge: + source venv/bin/activate && python -m unittest app_suite_runner.LoungeTest.test_lounge + +my-account: + source venv/bin/activate && python -m unittest app_suite_runner.WithdrawTest.test_withdraw + +home-inquiry: + source venv/bin/activate && python -m unittest app_suite_runner.HomeInquiryTest.test_home_inquiry diff --git a/fastfive-auto-app-dev/README.md b/fastfive-auto-app-dev/README.md new file mode 100644 index 0000000..0cefffb --- /dev/null +++ b/fastfive-auto-app-dev/README.md @@ -0,0 +1,184 @@ +# fastfive-auto-app-dev + +Appium 기반 모바일 앱 자동화 테스트 프로젝트 (Android/iOS 지원) + +- **Repository:** [fastfive-dev/auto-test](https://github.com/fastfive-dev/auto-test) +- **Branch:** `main` +- **Path:** `fastfive-auto-app-dev/` + +--- + +## 사전 요구사항 + +### 1. Python 설치 + +```bash +brew install python@3.11 +python3 --version +``` + +### 2. Node.js 설치 + +```bash +brew install node +node --version +``` + +### 3. Appium 서버 설치 + +```bash +npm install -g appium +appium --version +``` + +### 4. 플랫폼별 드라이버 설치 + +**Android:** + +```bash +appium driver install uiautomator2 +``` + +**iOS:** + +```bash +appium driver install xcuitest +xcode-select --install +``` + +--- + +## 프로젝트 설정 + +### 5. 가상환경 생성 및 패키지 설치 + +```bash +python3 -m venv venv +source venv/bin/activate +pip install Appium-Python-Client selenium python-dotenv +``` + +### 6. `.env` 파일 설정 + +**Android:** + +```env +PLATFORM=android +DEVICE_NAME=emulator-5554 +APP_PACKAGE=com.fastfive.work.staging +APP_ACTIVITY=com.fastfive.work.MainActivity +APPIUM_URL=http://127.0.0.1:4723 +APP_TEST_EMAIL=test@example.com +APP_TEST_PASSWORD=your_password +``` + +**iOS:** + +```env +PLATFORM=ios +DEVICE_NAME=iPhone 12 +UDID=your-device-udid +BUNDLE_ID=com.fastfive.InsideCommunity.staging +APPIUM_URL=http://127.0.0.1:4723 +APP_IOS_TEST_EMAIL=test@example.com +APP_IOS_TEST_PASSWORD=your_password +``` + +--- + +## 실행 + +### 7. Appium 서버 실행 (터미널 별도) + +```bash +appium +``` + +### 8. 디바이스 연결 확인 + +**Android:** + +```bash +adb devices +``` + +**iOS:** + +```bash +xcrun xctrace list devices +``` + +### 9. 가상환경 활성화 + +```bash +source venv/bin/activate +``` + +> `make venv`는 동작하지 않습니다. 가상환경 활성화는 반드시 터미널에서 직접 위 명령어를 실행해야 합니다. + +### 10. 테스트 실행 + +```bash +# 전체 테스트 실행 +python app_suite_runner.py +``` + +**로그인** + +```bash +python -m unittest app_suite_runner.LoginTest.test_login +``` + +**예약** + +```bash +python -m unittest app_suite_runner.ReservationTest.test_reservation +``` + +**출입카드 실행** + +```bash +python -m unittest app_suite_runner.EntranceCardTest.test_entrance_card +``` + +**출입카드 발급** + +```bash +python -m unittest app_suite_runner.EntranceCardIssueTest.test_entrance_card_issue +``` + +**라운지** + +```bash +python -m unittest app_suite_runner.LoungeTest.test_lounge +``` + +**홈 / 1:1 문의** + +```bash +python -m unittest app_suite_runner.HomeInquiryTest.test_home_inquiry +``` + +**내 계정** + +```bash +python -m unittest app_suite_runner.WithdrawTest.test_withdraw +``` + +--- + +## 체크리스트 + +| 항목 | 명령 | +| --------------- | --------------------------------------------------------- | +| Python | `brew install python@3.11` | +| Node.js | `brew install node` | +| Appium | `npm install -g appium` | +| UiAutomator2 | `appium driver install uiautomator2` | +| XCUITest (iOS) | `appium driver install xcuitest` | +| 가상환경 생성 | `python3 -m venv venv` | +| Python 패키지 | `pip install Appium-Python-Client selenium python-dotenv` | +| .env 설정 | `APP_TEST_PASSWORD` / `APP_IOS_TEST_PASSWORD` 필수 | +| Appium 서버 | `appium` (별도 터미널) | +| 가상환경 활성화 | `source venv/bin/activate` | +| 테스트 실행 | `python app_suite_runner.py` |