轉載請註明出處❤️ 作者:[測試蔡坨坨](https://www.caituotuo.top/) 原文鏈接:[caituotuo.top/400bd75c.html](https://www.caituotuo.top/400bd75c.html) 你好,我是測試蔡坨坨。 在日常測試工作中,我們經常 ...
轉載請註明出處❤️
作者:測試蔡坨坨
原文鏈接:caituotuo.top/400bd75c.html
你好,我是測試蔡坨坨。
在日常測試工作中,我們經常需要對上傳的文件大小進行測試,例如:一個文件上傳功能,限制文件大小最大為10MB,此時我們可能需要測試10MB以及其邊界值9MB和11MB;再或者我們有時需要測試一個超大文件,進行大文件的測試。
針對以上情況,可能一時難以找到符合準確數據的測試文件,這時就可以使用Python來幫助我們生成任意大小的文件,這裡提供兩種解決方案。
方法1:
使用特定大小的文本重覆生成,指定一個文本字元串text,然後將其重覆複製直至達到所需的文件大小。
# author: 測試蔡坨坨
# datetime: 2023/6/8 1:31
# function: 使用特定大小的文本生成指定大小的文件
def generate_file(file_path, file_size_bytes):
text = "This is some sample text by caituotuo." # 要重覆的文本
text_size_bytes = len(text.encode('utf-8')) # 每個重覆的文本的大小(以位元組為單位)
repetitions = file_size_bytes // text_size_bytes # 需要重覆的次數
remainder = file_size_bytes % text_size_bytes # 剩餘的位元組數
with open(file_path, 'w') as file:
for _ in range(repetitions):
file.write(text)
if remainder > 0:
file.write(text[:remainder])
if __name__ == '__main__':
# 生成一個大小為10MB的PDF文件
generate_file('caituotuo.pdf', 1024 * 1024 * 10)
方法2:
使用特定大小的隨機數生成,使用隨機數生成器生成特定大小的位元組,並將其寫入文件中。
# author: 測試蔡坨坨
# datetime: 2023/6/8 2:31
# function: 使用特定大小的隨機數生成文件
import os
def generate_file(file_path, file_size_bytes):
with open(file_path, 'wb') as file:
file.write(os.urandom(file_size_bytes))
if __name__ == '__main__':
# 生成一個大小為1MB的隨機數據文件
generate_file('caituotuo.docx', 1024 * 1024)