インタフェーステスト:インタフェース間に関連する複数のインタフェースがなく、インタフェースパラメータの個数が異なり、csvデータを読み取ることで、複数のインタフェースを一緒にテストする方法


一、問題の需要


質問:(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 = {}