Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 37 additions & 0 deletions fastfive-auto-app-dev/Makefile
Original file line number Diff line number Diff line change
@@ -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
184 changes: 184 additions & 0 deletions fastfive-auto-app-dev/README.md
Original file line number Diff line number Diff line change
@@ -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` |