Quickstart¶
Requirements¶
以下の環境いずれかが必要です。
- Python3.9以上
- Docker
Installation¶
Python3.9以上¶
$ pip install jumeaux
jumeaux --versionでバージョンが表示されればOKです。
Docker¶
$ git clone https://github.com/tadashi-aikawa/jumeaux.git
$ cd jumeaux
$ docker build -t tadashi-aikawa/jumeaux .
docker run -it tadashi-aikawa/jumeaux --versionでバージョンが表示されればOKです。
Warning
以降はPythonの場合を想定して説明します。
つまり jumeaux => docker run -v (pwd):/tmp -it tadashi-aikawa/jumeaux とコマンドを置き換えてください。
Create files¶
Jumeauxを実行するには、以下2つのファイルを用意する必要があります。
| ファイル名 | 役割 | 備考 |
|---|---|---|
| config.yml | 設定ファイル | 任意のファイルを1つ以上指定可能 |
| requests | リクエストが記載されたファイル | 任意のファイルを1つ以上指定可能 |
上記ファイルの作成にjumeaux initコマンドを使用できます。
$ jumeaux init simple
simpleは作成するファイルの種類です。
Note
jumeaux init helpコマンドでsimple以外の有効な値を確認できます。
Run mock server¶
jumeaux initコマンドでは上記2ファイルの他にapiディレクトリが作成されます。
apiディレクトリの中には、jumeaux initで指定したファイルの種類に応じて確認用のダミーhttpレスポンスが作成されます。
jumeaux serverコマンドを実行すると、カレントディレクトをWebサーバとして起動できます。
ローカル環境で動作確認をするため、jumeaux serverコマンドを実行しましょう。
Execute¶
config.ymlとrequestsを指定して実行しましょう。
$ jumeaux run requests
- デフォルトでは標準出力に何も出力されません
- 標準エラー出力にはログまたはエラーが出力されます
標準出力
特定のアドオンが標準出力を使用することがあります。
Note
--configを指定しないとconfig.ymlが設定されたことになります。
つまり、jumeaux run requestsは以下のコマンドと等価です。
$ jumeaux run requests --config config.yml
Check¶
結果は設定ファイルのresponse_dirで指定したディレクトリ配下に作成されます。
配下には、実行ごとに生成されるユニークなハッシュに基づいたディレクトリが存在します。
また最も新しい結果にはlatestのシンボリックリンクが貼られます。
responses/
├── latest -> 057e69de9677f2694a9bf4e43b6229920554cfdfe3a30c915034919cb048fa16 # 最新の結果へのシンボリックリンク
└── 057e69de9677f2694a9bf4e43b6229920554cfdfe3a30c915034919cb048fa16
├── index.html # Localサーバを立ち上げてアクセスすると結果をGUIで確認できる
├── one # oneで指定したhostのリクエスト結果. simpleの場合は差分アリの結果だけ保存している
│ └── (2)2
├── one-props # oneの結果をプロパティとして解析した結果を保存している. 結果がjsonの場合はほぼ同じ
│ └── (2)2.json
├── other # otherで指定したhostのリクエスト結果. simpleの場合は差分アリの結果だけ保存している
│ └── (2)2
├── other-props # otherの結果をプロパティとして解析した結果を保存している. 結果がjsonの場合はほぼ同じ
│ └── (2)2.json
└── report.json # 結果のjson. index.htmlもこれを参照している
GUIで結果を確認する¶
jumeaux viewerコマンドを実行している場合は以下いずれかのURLにアクセスすると、Viewerで結果を確認することができます。
- http://localhost:5500/responses/latest
- http://localhost:5500/responses/057e69de9677f2694a9bf4e43b6229920554cfdfe3a30c915034919cb048fa16
他の結果も確認してみよう
jumeaux initコマンドでignore_orderのテンプレートを使った結果も確認してみましょう。
GUIでより高度な確認をしたい場合は..
Miroirの使用を検討してみましょう。final/miroirアドオンを使用するとJumeauxの結果を登録することができます。
Viewerを開いたまま最新の結果を自動リロードする¶
jumeaux viewerコマンドを実行中は、最新の結果に限り速やかに確認することができます。
responsesに結果が1つ以上格納された状態でjumeaux viewerを実行してみましょう。
自動でブラウザのタブが開き、Viewerが表示されます。
この状態でjumeaux runを実行すると、ブラウザのViewerが自動で新しい結果にリロードされます。
リロードのトリガーになるものは?
latest/report.jsonに変更があった場合にリロードされます。
そのためjumeauxを実行せずにシンボリックリンクを切り替えたり、report.jsonを編集しても自動リロードされます。