[英]how to generate random data in json from python faker?
我想生成 5 個測試用例,它們以 json 格式提供隨機數據,如下所示。
{
"password2": "password@123",
"email": "test@test.com",
"username": "user123",
"first_name": "first",
"last_name": "last",
"phone":"1234567890",
"city":"Paris",
"about":"This is information about developer"
}
下面的代碼給出了 5 個測試用例,但細節相似。 我想用所有不同的細節生成 5 個不同的測試用例。 先感謝您。
代碼:
from faker import Faker
import random
class LoginData:
fake = Faker()
password = "password@123"
email = fake.email()
username = fake.first_name()
first_name = fake.first_name()
last_name = fake.last_name()
phone = random.randint(9000000000, 9999999999)
city = fake.city()
about = "This is a sample text : about"
def get_json(self):
p = {
'password': self.password,
'email': self.email,
'username': self.first_name,
'first_name': self.first_name,
'last_name': self.last_name,
'phone': self.phone,
'city': self.city,
'about': self.about
}
return p
logindata = LoginData()
def input_data(x):
for i in range(0, x):
print(logindata.get_json())
def main():
no_of_input = 5
input_data(no_of_input)
main()
如果我理解正確,問題是您希望每次生成不同的數據。 為此,您需要:
當前, LoginData
屬性是在定義類時生成的。 如果您希望它們對於每個實例都不同,請將它們設為實例屬性並在__init__()
方法中設置它們。
您需要在input_data()
的 for 循環的每次迭代中創建一個新的LoginData
實例。
代碼:
from faker import Faker
import random
class LoginData:
def __init__(self):
fake = Faker()
self.password = "password@123"
self.email = fake.email()
self.username = fake.first_name()
self.first_name = fake.first_name()
self.last_name = fake.last_name()
self.phone = random.randint(9000000000, 9999999999)
self.city = fake.city()
self.about = "This is a sample text : about"
def get_json(self):
p = {
'password': self.password,
'email': self.email,
'username': self.first_name,
'first_name': self.first_name,
'last_name': self.last_name,
'phone': self.phone,
'city': self.city,
'about': self.about
}
return p
def input_data(x):
for i in range(0, x):
logindata = LoginData()
print(logindata.get_json())
def main():
no_of_input = 5
input_data(no_of_input)
main()
請注意, get_json()
仍然返回 Python dict,而不是 JSON。 對於 JSON,您可以使用標准庫中的json
模塊:
import json
並在get_json()
return json.dumps(p)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.