1、你是否經常需要統計乙個函式的執行時間,姿勢可以這樣
import time3、你的介面是否經常遇見依賴訪問第三方介面,比如銀行查詢賬戶流水,但是第三方介面未必是穩定的,# 統計程式執行時間裝飾器
def timer(func):
start_time = time.time()
# 這是函式真正執行的地方
func(*args, **kw)
end_time = time.time()
t = end_time - start_time
return t
2、你是否經常需要查詢資料庫中某個表的的字段是否狀態等於某個值,然後才能走後續流程,比如還款訂單狀態,一般需要訂單狀態校驗通過,然後才可以進行後續的還款,因此我們需要去查詢資料庫,但是運氣不一定那麼好,正好查一次就是符合預期結果,因此需要多次重試,這樣的問題也可以借助裝飾器來解決
import pymysql,random
from retrying import retry
@retry(stop_max_attempt_number=3,wait_fixed = 10000) #引用了裝飾器,最大嘗試次數為3次,每次間隔時間為10s
def query_repayment_order():
# 開啟資料庫連線,不需要指定資料庫,因為需要建立資料庫
conn = pymysql.connect('localhost', user="root", passwd="123456",db = "dtest_post_loan")
# 獲取游標
cursor = conn.cursor()
# 建立pythonbd資料庫
result=cursor.execute("select * from repayment_order where order_uuid='9e958b6315944a5f841d754b2d4a1e41' and order_check_status=1")
if result!=1: #order_check_status=1 是訂單狀態校驗通過的意思order_check_status=0 是待校驗的意思
raise exception('your current repayment_order\'s order_check_status !=1 ')
cursor.close() # 先關閉游標
conn.close() # 再關閉資料庫連線
#a=query_repayment_order()
#print(a)
@retry(stop_max_attempt_number=3,wait_fixed = 10000) #引用了裝飾器,最大嘗試次數為3次,每次間隔時間為10s
def query_account_balance(productcode,accountno):
url= ""
headers=
data =
p=os.popen("ping guangda.net")
x = p.read()
print(x.count)
p.close()
if x.count('timeout'):
print("ping不通")
else:
rp=requests.post(url,data=json.dumps(data),headers=headers)
print(rp.text)
測試自動化 自動化測試的定義
相關術語 automated testing test tool,automated testing test suite,automated testing test script等.具體參見 http en.wikipedia.org wiki test automation 推薦書籍 1 軟體...
軟體自動化測試例項分析
軟體測試是對創造力和智力非常有挑戰性的任務。測試乙個大型軟體需要的智慧型要超過設計這個程式的智慧型。軟體在它發行之前應當通過徹底的測試,以保證它的可靠性和功能性,不幸的是,測試工程師要覆蓋乙個大型程式的所有情況會感到太麻煩和太費時。確實,軟體的每個部分如能被分別測試到,同時一些指定的路徑也能被測試,...
python裝飾器在介面自動化測試中的應用
在講解裝飾器在介面自動化測試專案的應用之前,我們先來介紹一下python裝飾器到底是個什麼 說裝飾器就不得不提一下函式這個一等公民了,在python中函式有幾個特性先來了解一下 函式的一些特性 在python中函式也是物件,可以把函式賦值給變數,比如下面這樣 def func message pri...