Python で Selenium や Appium を使ってテスト自動化を始めると、最初にぶつかるのが「フォルダ構成」と「VSCodeのデバッグ設定」です。
私も最初は import エラーやモジュールが見つからないエラーに悩まされ、コードよりも環境設定に時間を取られてしまいました。
ですが、フォルダを整理し VSCode の launch.json を設定することで、どのスクリプトも F5 一発で実行できるようになります。
この記事では、初心者がつまずきやすいポイントと、私自身の失敗から学んだフォルダ構成とデバッグ設定を紹介します。
これを押さえておけば「動かない…」と悩む時間を減らし、テストコードを書くことに集中できます。
なぜフォルダ構成が大事なのか?
Python の import は「基準ディレクトリ」がずれると簡単にエラーになります。
特に Selenium や Appium のテストコードを分割して書いていくと、以下のような問題がよく起きます。
- モジュールが見つからない (ModuleNotFoundError)
- 同じ処理を複数のスクリプトに書いてしまう
- テストデータやログの場所が分からなくなる
これを避けるには、最初に「コード」「データ」「レポート」「共通モジュール」を分けておくことが重要です。
おすすめのフォルダ構成
私が実際に使っているフォルダ構成は以下です。
test_project/
├─ data/ ← CSVなどのテストデータ
│ └─ data.csv
│
├─ modules/ ← 共通ロジック(呼び出される側)
│ ├─ __init__.py
│ ├─ xx.py
│ └─ yy.py
│
├─ scripts/ ← 実行用スクリプト(呼び出す側)
│ ├─ test1.py
│ └─ test2.py
│
├─ reports/ ← 実行結果のログやスクリーンショット
└─ config/ ← 環境設定ファイル (.env / json)
フォルダごとの役割
- modules/ : Selenium や Appium の操作関数など再利用できる処理をまとめる
- scripts/ : 実際にテストを実行するスクリプト(エントリーポイント)
- data/ : CSV などの入力データ
- reports/ : 実行結果の出力先
この整理をしておくと「どのコードを直せばいいか」がすぐに分かり、メンテナンスが楽になります。
VSCodeでよくあるエラーと解決法
フォルダを整理しても、次のようなエラーに悩む人が多いと思います。
ModuleNotFoundError: No module named 'modules'
これは VSCode のデバッガが scripts/ を基準にファイルを直接実行してしまうため、ひとつ上にある modules/ を見つけられないのが原因です。
解決方法:launch.json の設定
VSCode にはデバッグ用の設定ファイル .vscode/launch.json
があります。
ここに設定を追加することで、どのスクリプトでもエラーなく実行できるようになります。
設定例(方法①:現在のファイルを実行する場合)
{
"version": "0.2.0",
"configurations": [
{
"name": "test_project: 現在のファイルを実行(共通)",
"type": "debugpy",
"request": "launch",
"program": "${file}",
"cwd": "${workspaceFolder}",
"env": { "PYTHONPATH": "${workspaceFolder}" },
"console": "integratedTerminal",
"justMyCode": true
}
]
}
この設定の効果
- 「現在開いているファイル」をそのまま実行できる
- カレントディレクトリ(cwd)を test_project に固定するので、
from modules.xxx import ...
が正しく動く - どのスクリプトにも個別設定を追加する必要がない
これで scripts/ にあるどのスクリプトも、開いて F5 を押すだけで実行可能になります。
私が実際にハマったこと
- フォルダ名を「01_modules」と数字から始めてしまい、Python がモジュールとして認識できなかった
- VSCode で F5 を押すと、開いているファイルではなく「設定済みのスクリプト」だけが実行されてしまった
- launch.json で program と module の違いが分からず混乱した
こうした小さな落とし穴に何度もハマり、「コードを書く前に構成を整える大切さ」を痛感しました。
学んだこと
- フォルダ構成を最初に整理することが超重要
- modules / scripts / data / reports を分ける
- VSCode のデバッグ構成(launch.json)を設定する
- フォルダ名・ファイル名は英数字+アンダースコアを基本にする
- 実行の基準(cwd と PYTHONPATH)を理解するとエラーを防げる
これから始める方へ
Selenium や Appium を使ったテスト自動化は、コードそのものよりも環境設定でつまずくことが多いです。
最初にフォルダ構成と launch.json を整えておくと、その後の開発が驚くほどスムーズになります。
ぜひ「環境の整理」から始めてみてください。
まとめ
Python でのテスト自動化はフォルダ構成と VSCode 設定が土台になります。
launch.json を設定しておけば import エラーに悩まされません。
最初に環境を整えることが、学習と実践を続ける一番の近道です。