[英]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.