Python + 自動インターフェイステストを要求

1. 最近私は Python+reuqests による自動インターフェイステストを研究しています. 特定の機能を実装するには、まず明確な論理的アイデアが必要です。こうすることで効率がとても早くなります!

アイデア -- 1. Python を使用して Excel のインターフェイスの使用例を読み取る、2. Python 関数呼び出し、get/Post を使用してテストする、および 3. テスト結果を新しい Excel テーブルに書き込む。

1: インターフェイス テスト ケース データを書き込みます。例は 2 つだけです。

2.: 関数メソッド URl: サーバーアドレス、ホスト: インターフェースアドレス、タイプ (リクエストタイプ: get または post)、データ: パラメータ

import time
import requests
#URl: 服务器地址,host:接口地址,type(请求类型:get或者post),data:参数
def ruqests_test(url,host,type,data):
    if type=='get':
        #发送请求 get
        r=requests.get("%s%s" %(url,host),data=data)
        
        return r
 
    else :
        #发送请求 get 
        r=requests.post("%s%s" %(url,host),data=data)
        return r

 3: Excel インターフェースの使用例を読み取り、関数を呼び出してリクエストを送信し、戻り情報を受信して​​、それを Excel ドキュメントに書き込みます。

#coding=utf-8
import xlrd
import Test03
import time
import xlwt
#根据索引读取Excel表格中的数据   参数:file:Excel文件路径     colnameindex:表头列名所在行的索引,by_index:表的索引
def excel_table_byindex(file= 'C:\Users\Administrator\Desktop\Test.xlsx',colnameindex=0,by_index=0):
    data =xlrd.open_workbook(file)
    table = data.sheets()[by_index]
    nrows = table.nrows #行数
    ncols = table.ncols #列数
    colnames =  table.row_values(colnameindex) #某一行数据
    list =[]
    for rownum in range(1,nrows):
 
         row = table.row_values(rownum)
         if row:
             app = {}
             for i in range(len(colnames)):
                app[colnames[i]] = row[i]
                #print app[colnames[i]]
             list.append(app)
    return list
if __name__=="__main__":
    tables = excel_table_byindex()
    i = 1
    wb = xlwt.Workbook()  # 新建了一个新的工作表
    sheet1 = wb.add_sheet('Sheet 1')
    wb.add_sheet('Sheet 2')
#列表名称
    row1 = sheet1.row(0)
    row1.write(0, u'地址')
    row1.write(1, u'状态码')
    row1.write(2, u'返回信息')
    row1.write(3, u'时间')
    for row in tables:
        #row['value1'] if row['value1'] == ''else int(row['value1']):三目运算,当读取的值为空,就不转换为int类型
        r=Test03.ruqests_test(row['url'],row['host'],row['type'],{row['key1']:row['value1'] if row['value1'] == ''else int(row['value1']),row['key2']:row['value2'] if row['value2'] == ''else int(row['value2'])})
        row1 = sheet1.row(i)
        row1.write(0, r.url)
        row1.write(1, r.status_code)
        row1.write(2, r.text)
        row1.write(3,time .strftime("%Y-%m-%d %H:%M:%S", time.localtime()))
        wb.save('C:\Users\Administrator\Desktop\Test00.xlsx')
        i=i+1

結果を図に示します。

何かわからないことがあれば、メッセージを残してください!これが何人かの人々に役立つことを願っています!

          [以下は私がまとめた 2023 年の最も包括的なソフトウェア テスト エンジニア学習ナレッジ アーキテクチャ システム図です]


1. Python プログラミングの入門から習熟まで


2. インターフェース自動化プロジェクトの実践  

3. Web自動化プロジェクトの実戦


4. アプリ自動化プロジェクトの実践 

5. 一流メーカーの履歴書


6. DevOps システムのテストと開発 

7. 一般的に使用される自動テストツール


8. JMeter パフォーマンス テスト 

9. まとめ(最後にちょっとしたサプライズ)

寿命が長いのでオイルを追加してください。すべての努力は裏切られることはなく、粘り強く続ける限り、いつかは報われます。自分の時間を大切にして夢を追いかけてください。初心を忘れずに邁進してください。あなたの未来はあなたのコントロール次第です!

人生は短く、時間は貴重です。将来何が起こるかを予測することはできませんが、現在をコントロールすることはできます。一日一日を大切に、一生懸命働き、自分自身をより強く、より良くしてください。確固たる信念と粘り強い追求があれば、成功は最終的にあなたのものになります。

常に自分自身に挑戦することによってのみ、常に自分を超えることができます。夢を追い続け、勇敢に前に進んでいくと、その葛藤の過程がとても美しく、やりがいのあるものであることに気づくでしょう。自分を信じてください、あなたならできるよ!

最後に、私の記事を注意深く読んでくださった皆さんに感謝します。互恵性は常に必要です。それほど価値のあるものではありませんが、使用できる場合は、直接受け取ることができます。

この情報は、[ソフトウェア テスト] の友人にとって最も包括的かつ完全な準備倉庫となるはずです。この倉庫は、最も困難な旅を乗り越える何万人ものテスト エンジニアにも同行してきました。また、皆さんのお役に立てれば幸いです。​ 

おすすめ

転載: blog.csdn.net/2301_78276982/article/details/134995928