インタフェーステスト:インタフェース間に関連する複数のインタフェースがなく、インタフェースパラメータの個数が異なり、csvデータを読み取ることで、複数のインタフェースを一緒にテストする方法
7687 ワード
一、問題の需要
質問:(1)複数のインタフェースがあり、インタフェース間にパラメータ関連がない(2)インタフェースurlとパラメータ個数が一致しない(3)インタフェースurl、パラメータ、戻り値チェック情報をcsvファイルに置いてテストするにはどうすればいいですか?(4)以降は実現可能であり,csvファイルのみに既存のフォーマットでインタフェース情報を記入すればテストを実行できる.
分析:今回のインタフェーステストでは、登録、ログイン、ユーザー名の確認が有効で、この3つのインタフェースにあります.一致するパラメータはurl、インタフェース名、予想される検査結果の検査フィールドです.インタフェース間で一致しないパラメータは、インタフェースパラメータの数です.
#複雑点:インタフェースパラメータで、ユーザーごとに入力するデータの数が異なる
二、まず一致したパラメータ読取問題を解決する:
(1)url、インタフェース名、予想される検査結果の検査フィールドの3つのパラメータを格納するcsvファイルを作成する.この3つのパラメータを辞書に格納する(2)同じパラメータ:url、インタフェース名、予想検査結果の検査フィールドの格納問題(3)異なるパラメータをコード読み出しによりuser_に保存するinfoのデータ辞書で、転送
三、コード実現:
このインタフェースはtest_UserInfoというインタフェーステスト方法では,URL,インタフェース名,情報,ユーザ情報の4つのパラメータを入力する.csvの中の相関パラメータを読み取ることで,テストを行うことを実現した.csvのインタフェースパラメータは、異なるインタフェースであってもよい
# ,
# ,
import csv
import requests
class Transfication_unit_test4_1():
#
def test_UserInfo(self,url,user_info,check_message,interface_name):
s = requests.session()
response = s.post(url, user_info).text
print(response)
#
res = response.find(check_message)
# print(response)
if res > 0:
print(interface_name+' ')
else:
print(interface_name+' ')
if __name__ == '__main__':
#
obj_flow = Transfication_unit_test4_1()
# csv
file_user = open('testData.csv','r')
table = csv.reader(file_user)
user_info = {}
for row in table:
#
url = row[1]
interface_name = row[3]
check_message = row[5]
print('url',url,' ','interface_name',interface_name,' ','check_message',check_message)
#
k = int(row[6])
m = k*2+7
for i in range(7,m,2):
user_info[row[i]] = row[i+1]
print(user_info)
# ,
obj_flow.test_UserInfo(url,user_info,check_message,interface_name)
user_info = {}