自動生成測試數(shù)據(jù)之?dāng)?shù)據(jù)篇

大家好,我是阿薩。 日常測試過程中經(jīng)常需要用到各種類型的數(shù)據(jù),而且數(shù)據(jù)量都不小。很多時候都需要大量數(shù)據(jù),自己用excel 造幾行數(shù)據(jù)可以,如果要造上完行數(shù)據(jù),還是需要寫代碼生成測試數(shù)據(jù)比較好。但是又不想隨機的造一些數(shù)據(jù),還希望符合常見的數(shù)據(jù)格式,比如地址,電話號碼,人名字等等。 那怎么辦呢??

這里給大家隆重介紹下 python 的Faker 庫,專門用來造偽數(shù)據(jù)的。下面地址有相關(guān)faker 庫的詳細(xì)數(shù)據(jù)和demo介紹。

https://faker.readthedocs.io/en/master/providers/faker.providers.address.html

Faker 可以造哪些類型的數(shù)據(jù)呢?

address?可以造所有和地址相關(guān)的數(shù)據(jù),比如詳細(xì)地址,國家,國家編碼,當(dāng)前國家, 大樓號碼,城市,城市后綴,當(dāng)前國家編碼,郵政編碼,街道地址,街道名稱,街道后綴等刷數(shù)據(jù)。

automotive?可以造汽車供應(yīng)商的數(shù)據(jù),比如汽車牌照。

bank?可以造銀行相關(guān)的數(shù)據(jù),比如銀行國家,ABA,BBAN,IBAN,SWIFT,11位的SWIFT代碼,8位的SWIFT 代碼等數(shù)據(jù)。

barcode?二維碼生成器,生成二維碼相關(guān)數(shù)據(jù),可以生成8位或者13位的EAN 二維碼。

color?顏色生成器,可以生成顏色的名稱或者RGB值或者16進制三元組格式的顏色,或者CSS RGB 值,網(wǎng)絡(luò)安全的顏色值。

company?生成公司名稱相關(guān)數(shù)據(jù)。

credit_card?生成信用卡相關(guān)數(shù)據(jù),有信用卡過期時間,信用卡詳情,卡號,信用卡供應(yīng)商,信用卡安全編碼。

currency?生成貨幣相關(guān)數(shù)據(jù),有貨幣符號,帶貨幣符號的金錢數(shù)字,貨幣名稱,貨幣代碼等。

date_time生成日期相關(guān)數(shù)據(jù),包括上午或者下午,世紀(jì),日期,生日,當(dāng)前世紀(jì),當(dāng)年,當(dāng)月,某一個時間范圍內(nèi)的日期或者時間,未來時間,過去時間,年, 月,日,時區(qū)等等。

file?生成文件相關(guān)數(shù)據(jù),包括文件后綴,文件名稱,文件路徑, MIME 類型,UNIX格式的文件名稱。

geo?生成地理相關(guān)的數(shù)據(jù),比如經(jīng)度,維度,坐標(biāo)等等數(shù)據(jù)。

internet?生成網(wǎng)絡(luò)相關(guān)數(shù)據(jù),比如 郵箱,網(wǎng)絡(luò)安全郵箱,免費郵箱,公司郵箱,指定日期里的域名,域名,主機名,HTTP 方法,IANA注冊ID,圖片地址,IPV4,IPV6, mac地址等。

isbn?生成國際標(biāo)準(zhǔn)圖書編碼。

job?生成崗位名稱。

lorem?可以生成文章,語句,文本,單詞等

misc?可以生成二進制 ,布爾值,csv,dsv,固定寬度,圖片,json,MD5,帶空值的布爾值,密碼,psv,SHA1的哈希值,SHA256的哈希值,tar,tsv,UUID4,zip等數(shù)據(jù),這個庫很強大,只用這一個庫,就可以解決很多問題了。

person?生成和人相關(guān)數(shù)據(jù),比如名,姓,性別,稱呼,后綴等等數(shù)據(jù)。

phone_number?生成和電話號碼相關(guān)數(shù)據(jù),比如國家前綴,MSISDN,電話號碼。

profile?生成個人相關(guān)信息的集合。比如工作,公司,姓名,性別等數(shù)據(jù)集合,不是單個數(shù)據(jù)。

python?生成python 里的布爾值,小數(shù),字典,浮點數(shù),整形和迭代數(shù)據(jù),列表,字符串,結(jié)構(gòu)體,元祖等數(shù)據(jù)。

ssn?生成SSN

user_agent?生成用戶代理相關(guān)數(shù)據(jù)。比如 chrome , firefox, IE, IOS 平臺, linux 平臺的,mac 平臺的user agent 數(shù)據(jù)。

看完上面的簡介,你是不是說,那怎么使用呢?

很簡單。

比如生成電話號碼的代碼:

Faker.seed(0)

for _ in range(5):

? ? ?fake.phone_number()

執(zhí)行代碼結(jié)果如下:

'(604)876-4759x3824'

'(194)8924115'

'815.659.3877x8408'

'1609753513'

'001-332-871-1587'

是不是很簡單,快學(xué)習(xí)起來吧。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容