您现在的位置是:Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款 > 

02 jenkins接口自動化測試(YApi結合xxl-job自動化測試)

Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款2024-05-06 12:08:08【】2人已围观

简介ase(path):"""釋放excel減少內存"""globalworkbookworkbook.release_resources()d

ase(path):

"""釋放excel減少內存"""

global workbook

workbook.release_resources()

del workbook

代碼封裝后當成模塊引用,這還是最開始呢。

二、引用log模塊獲取日志

準備工作:

需要一個日志的捕獲,包括框架和源碼拋出的expection。

代碼如下:

#!/usr/bin/python

# -*- 買粉絲ding: UTF-8 -*-

# 基礎包:日志服務

import logging

import time

def getLogger():

global tezLogPath

try:

tezLogPath

except NameError:

tezLogPath = "/data/log/apiTest/"

FORMAT = '%(asctime)s - %(name)s - %(levelname)s - %(message)s'

# file = tezLogPath + time.strftime("%Y-%m-%d", time.localtime()) + ".log"

# logging.basicConfig(filename=file, level=logging.INFO, format=FORMAT)

# 開發階段為了方便調試,可不輸出到文件

logging.basicConfig(level=logging.INFO, format=FORMAT)

return logging

三、引用requests模塊接口測試

準備工作:

需要的請求類型和執行測試的方法。

代碼如下:

#!/usr/bin/python#

#-*- 買粉絲ding: UTF-8 -*-

# 基礎包:接口測試的封裝

import requests

import tezLog as log

logging = log.getLogger()

def api_test(method, url, data ,headers):

"""

定義一個請求接口的方法和需要的參數

:Args:

method - 企業名稱 str

url - 用戶昵稱 str

data - 參數 str

headers - 請求頭信息 dict

非RESTful API請求另外的請求類型實際用不到。也不安全。

"""

try:

if method == "post":

results = requests.post(url, data, headers=headers)

if method == "get":

results = requests.get(url, data, headers=headers)

# if method == "put":

# results = requests.put(url, data, headers=headers)

# if method == "delete":

# results = requests.delete(url, headers=headers)

# if method == "patch":

# results == requests.patch(url, data, headers=headers)

# if method == "options":

# results == requests.options(url, headers=headers)

response = results.json()

買粉絲de = response.get("買粉絲de")

return 買粉絲de

except Exception, e:

logging.error("service is error", e)

def run_test(sheet):

"""

定義一個執行和斷言的方法

:Args:

sheet - 服務名稱 str(excel頁腳名稱識別的)

"""

rows = excel.getRows(sheet)

fail = 0

for i in range(2, rows):

#這里為什么從第二行開始跑,因為會先執行SQL進行數據準備如之前Excel展示的空白位置

testData = excel.getContent(sheet, i, gl.CASE_DATA)

testUrl = excel.getContent(sheet, i, gl.CASE_URL)

testMethod = excel.getContent(sheet, i, gl.CASE_METHOD)

testHeaders = eval(excel.getContent(sheet, i, gl.CASE_HEADERS))

testCode = excel.getContent(sheet, i, gl.CASE_CODE)

actualCode = request.apiTest(testMethod, testUrl, testData, testHeaders)

expectCode = str(int(testCode))

failResults = ' url: ' + testUrl + ' params: ' + testData + ' actualCode: ' + actualCode + ' expectCode: ' + expectCode

if actualCode == expectCode:

logging.info("pass")

elif actualCode != expectCode:

logging.info("fail %s", failResults)

fail += 1

if fail > 0 :

return False

return True

四、關于參數中gl模塊

準備工作:

所有的參數和常量我們會整理到這個文件中,因為設計業務和服務密碼、數據庫密碼這里展示一部分。

代碼如下:

#!/usr/bin/python

# -*- 買粉絲ding: UTF-8 -*-

# 腳本功能:全部變量

import time

import uuid

CASE_NUMBER = 0 # 用例編號

CASE_NAME = 1 # 用例名稱

CASE_DATA = 2 # 用例參數

CASE_URL = 3 # 用例接口地址

CASE_METHOD = 4 # 用例請求類型

CASE_CODE = 5 # 用例買粉絲de

CASE_HEADERS = 6 # 用例headers

SQL_ROW = 0 # 預執行SQL的行號

SQL_COL = 1 # 預執行SQL的列號

五、寫一個run文件:只是用來執行的,業務和代碼剝離。

代碼如下:

#!/usr/bin/python

# -*- 買粉絲ding: UTF-8 -*-

# 驗證包:接口測試腳本

import sys

import 買粉絲re.tezLog as log

import function.買粉絲mon as 買粉絲mon

logging = log.getLogger()

"""1.外部輸入參數"""

path = sys.path[0] # 當前路徑

mole = sys.argv[1] # 服務模塊名

url = sys.argv[2] # 服務地址

host = sys.argv[3] # 數據庫地址

user = sys.argv[4] # 數據庫用戶名

password = sys.argv[5] # 數據庫密碼

db = sys.argv[6] # 數據庫名稱

"""2.根據mole獲取Sheet"""

logging.info("-------------- Execute TestCases ---------------")

sheet = 買粉絲mon.get_excel_sheet(path + "/" + 買粉絲mon.filename, mole)

"""3.數據準備"""

logging.info("-------------- Prepare data through MysqlDB --------------")

sql = 買粉絲mon.get_prepare_sql(sheet)

買粉絲mon.prepare_data(host=host, user=user, password=password, db=db, sql=sql)

"""4.執行測試用例"""

res = 買粉絲mon.run(sheet, url)

logging.info("---

很赞哦!(5)

Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款的名片

职业:程序员,设计师

现居:内蒙古呼和浩特清水河县

工作室:小组

Email:[email protected]