インタフェーステストプラットフォームの構築を一歩一歩教えます(1)
6595 ワード
多くの学生がテストプラットフォームに興味を持っていることがわかり、私たちの一連のチュートリアルはテストプラットフォームの開発をめぐって展開されています.
このシリーズのチュートリアルでは、postmanのような超簡単なインタフェーステストプラットフォームを実現します.クライアントバージョンではなく、Web版にすぎません.
このセクションでは,フロントエンドインタフェースでgetリクエストを送信し,応答を得る機能を実現する.これは、getインタフェースをデバッグするプラットフォームツールと同じです.
実現した後の効果はこのようなものです.
チュートリアルをよりよく理解するには、次の知識が必要かもしれません. pythonベースで、コードが大体読める webサーバの知識 htmlの知識は、提出フォーム に関連するためです.最も基本的なcss知識は、数行のcssコード に関連する.
もしあなたが全く基礎がなければ大丈夫です.チュートリアルを勉強しながら出会った新しい知識点を勉強して、少し積み重ねて、堅持すれば収穫があります.
できるだけ簡単にするために、pythonを使用してテストプラットフォームを実現することを選択しました.結局、pythonの学習コストは相対的に高くありません.また、python以降もテスト職場の標準的なスキルであるべきです.
私たちのプラットフォームは主にwebアプリケーションなので、flaskフレームワークを選択して機能を迅速に実現します.
フロントエンドのページを少しきれいにするためにbootstrap 4をフロントエンドコンポーネントとして選びました.
httpリクエストと応答をより簡単に処理するためにrequestsを使用してリクエスト処理プロセスを簡略化します.
初心者にとってはこの一歩が一番難しいはずですが、間違いがあったら、簡単に諦めないで解決策を探してほしいです.
まずpython 3をインストールします.
次にpipを使用してコマンドラインからreqeustsとflaskをインストールし、コマンドは次のとおりです.
まず、ブラウザからアクセスできるUIをテストプラットフォームに作成します.
以下の内容のファイル
のhtmlコードは コピーすればいいので、 な はありません.
コマンドラインを き、cdからmain.pyパスの でlinux/macユーザーが
Windowsユーザーはたぶんこのように できます(テストしたことがありませんが、 があれば で してください)
いがなければ、 は の りです.
ブラウザでlocalhost:5000にアクセスすると、フロントエンドページが されるはずです.
main.pyでは,
return render_template('home.html',resp=None)メソッドは、
フロントエンドページの ボックスに の を し、「OK」ボタンをクリックすると、ページが って されます.getこのパスは にヒットしていないため、404エラーが する.
/handle_getこのパスは はlocalhost:5000/handleですgetパスは、 の を します.ユーザは ボックスから1つのインタフェースアドレスを 、 ボタンをクリックするとそのアドレスがサーバ の コード、すなわちmainに .pyファイルのコード バックグラウンドコードは、ユーザが インタフェースurlを し、get を してそのurlにアクセスし、インタフェースの を する. をフロントエンドページに す .
サービス コードmain.pyは の りです
のコードではまずヒット/handleを しましたgetパス の コード、すなわちhandle_get()メソッド.POST の び しにのみ するのはなぜですか?
handle_get()メソッドでは,ユーザが したurlを し,requestsライブラリを いてgetリクエストを し,responseオブジェクトを するとフロントエンドページ,すなわちrender_に する.templateの2 のパラメータの .
ここでは を っていますが、 を して、 が こるか てみましょう.
たちはホームを します.htmlページは、 の を できるようにします.
このシリーズのチュートリアルでは、postmanのような超簡単なインタフェーステストプラットフォームを実現します.クライアントバージョンではなく、Web版にすぎません.
このセクションでは,フロントエンドインタフェースでgetリクエストを送信し,応答を得る機能を実現する.これは、getインタフェースをデバッグするプラットフォームツールと同じです.
実現した後の効果はこのようなものです.
どこから
チュートリアルをよりよく理解するには、次の知識が必要かもしれません.
もしあなたが全く基礎がなければ大丈夫です.チュートリアルを勉強しながら出会った新しい知識点を勉強して、少し積み重ねて、堅持すれば収穫があります.
ぎじゅつせんたく
できるだけ簡単にするために、pythonを使用してテストプラットフォームを実現することを選択しました.結局、pythonの学習コストは相対的に高くありません.また、python以降もテスト職場の標準的なスキルであるべきです.
私たちのプラットフォームは主にwebアプリケーションなので、flaskフレームワークを選択して機能を迅速に実現します.
フロントエンドのページを少しきれいにするためにbootstrap 4をフロントエンドコンポーネントとして選びました.
httpリクエストと応答をより簡単に処理するためにrequestsを使用してリクエスト処理プロセスを簡略化します.
インストール依存
初心者にとってはこの一歩が一番難しいはずですが、間違いがあったら、簡単に諦めないで解決策を探してほしいです.
まずpython 3をインストールします.
次にpipを使用してコマンドラインからreqeustsとflaskをインストールし、コマンドは次のとおりです.
pip install requests
pip install Flask
UIの実装
まず、ブラウザからアクセスできるUIをテストプラットフォームに作成します.
以下の内容のファイル
main.py
を作成します.from flask import Flask, render_template, request
import requests
app = Flask(__name__)
@app.route('/')
def home():
return render_template('home.html', resp=None)
main.py
同級ディレクトリの下にtemplates
フォルダを作成し、フォルダ内にhome.html
ファイルを作成します.
ETF
ETFインタフェーステストプラットフォーム
のhtmlコードは コピーすればいいので、 な はありません.
コマンドラインを き、cdからmain.pyパスの でlinux/macユーザーが
export FLASK_APP=main.py
export FLASK_ENV=development
flask run # python -m flask run
Windowsユーザーはたぶんこのように できます(テストしたことがありませんが、 があれば で してください)
set FLASK_APP=main.py
set FLASK_ENV=development
flask run # python -m flask run
いがなければ、 は の りです.
* Serving Flask app "main.py" (lazy loading)
* Environment: development
* Debug mode: on
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
* Restarting with stat
* Debugger is active!
* Debugger PIN: 235-696-725
ブラウザでlocalhost:5000にアクセスすると、フロントエンドページが されるはずです.
main.pyでは,
/
パスの ロジックを した.ブラウザがlocalhost:5000にアクセスすると、このロジックがヒットします.localhost:5000はlocalhost:5000/と なので、localhost:5000に アクセスする 、 のhome()
メソッドが されます@app.route('/')
def home():
return render_template('home.html', resp=None)
return render_template('home.html',resp=None)メソッドは、
templates
ディレクトリのhome.html
ファイルをレンダリングすることを し、2 のパラメータは に します.フロントエンドページの ボックスに の を し、「OK」ボタンをクリックすると、ページが って されます.getこのパスは にヒットしていないため、404エラーが する.
/handle_getこのパスは はlocalhost:5000/handleですgetパスは、 の を します.
サービス コードmain.pyは の りです
@app.route('/handle_get', methods=['POST'])
def handle_get():
url = request.form['url']
try:
r = requests.get(url)
except Exception as e:
print(e)
r = None
return render_template('home.html', resp=r)
のコードではまずヒット/handleを しましたgetパス の コード、すなわちhandle_get()メソッド.POST の び しにのみ するのはなぜですか?
handle_get()メソッドでは,ユーザが したurlを し,requestsライブラリを いてgetリクエストを し,responseオブジェクトを するとフロントエンドページ,すなわちrender_に する.templateの2 のパラメータの .
ここでは を っていますが、 を して、 が こるか てみましょう.
たちはホームを します.htmlページは、 の を できるようにします.
...
...
...
ETF
{% if resp %}
: {{resp.url}}
: {{resp.status_code}}
Headers
{% for key, value in resp.headers.items() %}
{{key}}: {{value}}
{% endfor %}
Body
{{resp.text}}
{% else %}
なし
{% endif%}
ここではjinjaテンプレートエンジンを いたが,これはhtmlに な を す であり, または のルートと できる.
ここでは のステータスコード,headers,bodyを した.
インタフェースurlを1つ し、 を して する を しました.
たちは 4つの を っています. python html CSS jinjaテンプレート たちは の に れました webサービス htmlフロントエンド のほんの し、 えばフォーム pythonを してhttpプロトコルのgetインタフェース にアクセスする
このセクションのすべてのコードはここで できます.
のセクションでは、 を します.