PythonでAppiumやPlaywrightを使ってテスト自動化を始めると、最初に戸惑うのが「init.pyってなんで必要なの?」という疑問です。
さらにVisual Studio Code(VS Code)を使っていると、「launch.jsonを作ってください」と出てきて混乱することも多いですよね。
私自身、最初はエラーの意味もわからず、何度も検索しては立ち止まりました。
でも仕組みを理解してからは「これは目印」「これは地図」と捉えられるようになり、迷子にならずにテストを実行できるようになりました。
この記事では、初心者のQAエンジニアでも安心して理解できるように、init.pyの役割とlaunch.jsonの意味をセットで解説します。
同じところでつまずいている方が、スムーズにテスト自動化を進められるようになれば嬉しいです。
init.py の役割とは?
Pythonには「このフォルダはパッケージですよ」と教える仕組みがあります。
その目印となるのが __init__.py です。
- ファイル名は必ず
__init__.py。他の名前では認識されません。 - 中身は空でも大丈夫です。よく使う関数をまとめて再輸出することも可能です。
- これがあることで
import modules.xxのように、フォルダ内のモジュールを呼び出せます。
👉 簡単に言えば「フォルダをimport可能にするための印」です。
どのフォルダに置く?
テスト自動化プロジェクトの例を見てみましょう。
test_project/
├─ data/ ← テストデータ置き場 → 不要
├─ modules/ ← 共通ロジック → 必要(ここに置く)
│ ├─ __init__.py
│ ├─ xx.py
│ └─ yy.py
├─ scripts/ ← 実行スクリプト → 基本は不要
│ ├─ test1.py
│ └─ test2.py
├─ reports/ ← 実行結果出力 → 不要
└─ config/ ← 環境設定 → 不要
- 必要:modules/
- 不要:data/, reports/, config/
- scripts/ は launch.json を設定すれば不要になります。
まとめ
__init__.pyは「フォルダをimport可能にする目印」- 置くのは modules/ だけでOK


