日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

當前,我國金融體系內交易量持續增長,業務場景日趨復雜。系統交易量的增加,臨時產生的集中業務需求,都會使服務器面臨考驗,因此,需要對系統進行性能測試。

在金融系統中,報文處理是必不可少的。各大金融機構間通過報文的交換進行信息流的傳遞,從而最終實現資金的跨機構流轉。在對金融系統的性能測試中,自然也少不了與報文打交道,而性能測試往往伴隨著大量數據準備。那么,如何高效地生成大量報文呢?

助力性能測試:如何通過Python批量生成測試報文?

 

試想這樣一種場景:某金融機構需在特定時間內進行一波資金劃轉,該業務是新增交易,且交易數量較大,需要準備大量報文對服務器進行性能測試。數據的準備有很多方法,其中Python/ target=_blank class=infotextkey>Python由于易上手且兼具靈活性而逐漸受到測試工程師們的青睞。今天,我們就來介紹一下如何通過Python批量生成測試報文。

1.批量報文準備

上述例子中提到的報文一般可分為單交易報文和批量交易報文兩種。單交易報文的獲取是非常容易的,而批量交易報文則可通過單交易報文生成,Python中的pyperclip模塊為實現這一功能提供了便捷的支持。pyperclip中的copy和paste方法分別可實現向剪切板發送文本和從剪切板讀取文本。下面的代碼實現了讀取單交易信息,并生成指定數量批量交易的功能:

import pyperclip

# 交易數量

dealNum = 2

# 讀取單交易信息并復制到剪貼板

with open(r'test.txt', encoding='utf-8') as f:

txt = f.read()

pyperclip.copy(txt)

# 生成批量交易

res = ''

dealInfo = pyperclip.paste()

for i in range(dealNum):

res = '{}n{}'.format(res, dealInfo)

print(res)

當交易數量為2時,生成報文示例如下:

<tag>測試報文</tag>

<tag>測試報文</tag>

2.交易號生成

在一筆交易中,往往包含標志交易唯一性的定長交易號。

從上一步中,我們得到了擁有相同信息的若干筆交易,但由于交易號相同,直接發送上述交易報文會因重復編號導致記賬失敗。我們很容易想到,可以通過random函數生成隨機數來模擬不同交易,但如何確保編號的唯一性呢?random模塊中包含一個名為sample的方法,通過它,可以生成不重復的隨機數。例如,通過以下代碼可得到5個不重復的8位隨機數:

import random

# 隨機生成8位交易號

traNo = random.sample(range(10**7, 10**8), 5)

print(traNo)

返回生成的隨機數列表,如下:

[69244291, 71447069, 95104116, 91919619, 50861438]

3.交易號替換,目標報文生成

在前面步驟均已完成的前提下,下一步就可以進行編號的替換了。報文中的交易號一般形式為“<標簽>編號</標簽>”,對于此類數據的替換,正則表達式是非常有效的手段。Python中的re模塊可通過正則表達式進行字符串的匹配,下面的代碼通過查找交易標簽,對其中的交易編號進行了替換:

import re

# file:待替換文件

# numberList:隨機交易號列表

def alter_file(file, numberList):

fileData = ''

i = 0

with open(file, 'r', encoding='utf-8') as f:

for line in f:

if '<tag>' in line:

newStr = '<tag>{}</tag>'.format(numberList[i])

i += 1

line = re.sub(r'<tag>d+</tag>', newStr, line)

fileData += line

with open('result.txt', 'w', encoding='utf-8') as f:

f.write(fileData)

  在以下示例中,原有的編號已被替換成為了不重復隨機數。

助力性能測試:如何通過Python批量生成測試報文?

 


助力性能測試:如何通過Python批量生成測試報文?

 

實際測試中,結合以上方法,即使上萬條交易報文也能輕松準備,為性能測試的開展提供了有力的支持。


如果你的也有很多問題想要解決,你的測試職業規劃也需要一點光亮,你也想跟著大家一起分享探討,我給你推薦一個「Python自動化測試學習交流群」你缺的知識這里有,你少的技能這里有,你要的大牛也在這里……

分享到:
標簽:報文 測試
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定