通過python中Datafaker模塊,批量造數據

我們一般在測試過程中經常會遇到需要準備大量測試數據的情況,此時如果手動插入效率太低,用一般的方式批量生成數據往往數據的內容不符合我們的要求,太過隨機化,不符合真實數據的格式。

這裏給大家介紹一個數據生成工具,它最大的好處就是效率高,且自帶多種數據生成規則,可以滿足你大多數的數據格式要求。

Datafaker
是大型測試數據和流量測試數據生成工具。
它是基於python開發的,與python2.7和python3.4 +兼容,所以我們在使用前需要確保安裝了python環境。

Datafaker的github地址,我們可以在上面下載項目,同時也可以查看對應的官方文檔說明: https://github.com/gangly/datafaker

安裝流程
保證你的python已經安裝,pip已經安裝,

使用pip install datafaker命令安裝

本次教程是針對mysql數據進行製造測試數據,所以你還需要在你的python中安裝以下的模塊

如果你是python2的版本,需要安裝MySQLdb

如果你是python3的版本,需要安裝pymysql --pip install PyMySQL,並且要在你的datafaker目錄下的__init__.py文件中添加以下2行:
import pymysql
pymysql.install_as_MySQLdb()

如圖:
在這裏插入圖片描述

文件夾名稱可能安裝方式不同而不一樣,其實就是找到你的datafaker的模塊的包,修改其中的__init__.py。

打開後添加紅框中的2行

編輯測試數據的元數據
元數據文件中的內容是用來設定你本次要製造的測試數據的生成標準和規則,

假設你要往一個表test中添加測試數據,表結構爲如圖:

在這裏插入圖片描述
那麼你需要新建一個txt文本,文本中編輯內容如下:
在這裏插入圖片描述

編輯的內容分3列:
第一列是你表的字段名,
第二列是你的字段的類型,
第三列是你生成數據的規則,

中間是||隔開.注意規則的設定的格式,其中[:]爲固定格式,後面的inc,name等都是自帶的規則方法;

還有很多其他的規則,我這裏只列舉了其中一小部分,你們可以參考官方文檔中的說明,選擇適合你測試數據的要求的方法。這裏就不一一列舉了。

官方的數據構造規則的說明:
https://github.com/gangly/datafaker/blob/master/doc/ConstructionRule.md

生成數據
編輯好元數據文件後,在命令行中執行命令:
datafaker mysql mysql+mysqldb://user:password@localhost:3306/crashcourse test 10 --meta test.txt

其中user和password是你的數據庫的用戶名密碼.crashcourse是你的庫名,根據自己的數據庫名寫,我這裏是本地的數據庫,所以地址是localhost;

你們如果是遠程的服務器上的數據庫,根據自己的情況去填寫。後面的test是表名,10代表構造的數據量, test.txt是你的元數據文件名,執行該命令的時候要確保你的當前路徑下有元數據文件。

執行完成後查看數據表,
在這裏插入圖片描述
如圖我們已經按照規則生成了一批數據

總結
以上是我用datafaker針對mysql數據庫去生成數據的教程,如果你們是其他數據庫,可以參考官方文檔中的說明,安裝你們數據庫所要用到的包,再進行連接,祝你們好運。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章