どのようにpython言語でweb APIの自動化テストをします
3695 ワード
主に対応するHTTPリクエストの構築
1,内蔵httplib,URLlib 2
2,サードパーティ製ライブラリ,urllib 3,request,pyCurlcmd
requestコマンドのインストール:pip install(--user)requests
インストール後、pythonで
要求構築:
method , URL ,header
自動化プロジェクトの実行
最初のステップ需要作成例を分析し、第2歩;これらの使用例が合格できるかどうかを手動でテストします.
プロジェクトの練習手、手順は以下の通りです.
getリクエスト
【
カリキュラムインタフェースのリスト
システム内のすべてのトレーニングコース情報をリストするために使用します.
リクエスト構文
url要求パラメータ
リクエストボディの内容
要求内容を指定する必要はありません.
レスポンス構文
ヘッダ情報
Content-Type通常、この値はアプリケーション/jsonに設定され、JSON形式のテキスト情報を返します.
応答内容
リクエストが成功した場合、json形式のメッセージボディが次のように返されます.
】
postリクエスト
【
カリキュラムインタフェースの追加
新しいトレーニングコースの作成に使用
リクエスト構文
url要求パラメータ
urlリクエストパラメータなし
リクエストボディの内容
レスポンス構文
ヘッダ情報
Content-Type必須通常の場合、この値はアプリケーション/jsonに設定され、JSON形式のテキスト情報を返します.
応答内容
リクエストが成功した場合、json形式のメッセージボディを返します.以下に示すように、retcode値が0の場合は追加に成功し、idは新規カリキュラムに対応するID番号です.
説明
カリキュラム名が既に存在する場合は、作成に失敗して結果を返します.
】
1,内蔵httplib,URLlib 2
2,サードパーティ製ライブラリ,urllib 3,request,pyCurlcmd
requestコマンドのインストール:pip install(--user)requests
インストール後、pythonで
import requests
requests.get('https://www.icwant.com')
要求構築:
method , URL ,header
自動化プロジェクトの実行
最初のステップ需要作成例を分析し、第2歩;これらの使用例が合格できるかどうかを手動でテストします.
プロジェクトの練習手、手順は以下の通りです.
getリクエスト
【
カリキュラムインタフェースのリスト
システム内のすべてのトレーニングコース情報をリストするために使用します.
リクエスト構文
GET /api/mgr/sq_mgr/?action=list_course&pagenum=1&pagesize=20 HTTP/1.1
url要求パラメータ
action list_course,
pagenum , 1
pagesize , 20
リクエストボディの内容
要求内容を指定する必要はありません.
レスポンス構文
HTTP/1.1 200 OK
Content-Type: application/json
ヘッダ情報
Content-Type通常、この値はアプリケーション/jsonに設定され、JSON形式のテキスト情報を返します.
応答内容
リクエストが成功した場合、json形式のメッセージボディが次のように返されます.
{
"retlist": [
{
"desc": " ",
"id": 418,
"display_idx": 1,
"name": " "
},
{
"desc": " ",
"id": 419,
"display_idx": 2,
"name": " "
},
{
"desc": " ",
"id": 420,
"display_idx": 3,
"name": " "
}
],
"total": 3,
"retcode": 0
}
retcode 0 。
total
retlist , 。
】
import requests,pprint
from datetime import datetime
res = requests.get('http://localhost/api/mgr/sq_mgr/?action=list_course&pagenum=1&pagesize=20 ')
bodyDict = res.json()
pprint.pprint(bodyDict)
if bodyDict['retcode'] == 2:
print("pass")
postリクエスト
【
カリキュラムインタフェースの追加
新しいトレーニングコースの作成に使用
リクエスト構文
POST /api/mgr/sq_mgr/ HTTP/1.1
Content-Type: application/x-www-form-urlencoded
url要求パラメータ
urlリクエストパラメータなし
リクエストボディの内容
action add_course,
data , 、 、 。
json 。 :
{
"name":" ",
"desc":" ",
"display_idx":"4"
}
レスポンス構文
HTTP/1.1 200 OK
Content-Type: application/json
ヘッダ情報
Content-Type必須通常の場合、この値はアプリケーション/jsonに設定され、JSON形式のテキスト情報を返します.
応答内容
リクエストが成功した場合、json形式のメッセージボディを返します.以下に示すように、retcode値が0の場合は追加に成功し、idは新規カリキュラムに対応するID番号です.
{
"retcode": 0
"id" : 1212
}
説明
カリキュラム名が既に存在する場合は、作成に失敗して結果を返します.
{
"retcode": 2,
"reason": " "
}
】
resAdd_course = requests.post('http://localhost/api/mgr/sq_mgr/',
data={
'action': 'add_course',
'data':'''{
"name":" ",
"desc":" ",
"display_idx":"4"
}'''
})
retAddDict = resAdd_course.json()
pprint.pprint(retAddDict)
if retAddDict['retcode'] == 2:
print(" ")
if retAddDict['retcode'] == 0:
print(" ")