安装
初始化一个Faker的实例 1 2 from faker import Faker f = Faker()
简单使用 1 2 3 4 5 6 7 from faker import Fakerfake = Faker() fake.name() fake.address() fake.text()
多语言 语言默认为en-US,可以通过在conftest中的faker_session_locale
修改。 可以设置多个语言,给每个语言一个权重,随机时会根据权重返回某种语言。如果传入的参数名不存在,则会默认使用英文。
常用:
还有一些其他的,不过一般我们测试的时候只用中文英文,如果有多语言测试的需求可以写一个配置文件,每次更换语言或者随机语言来测试。
说明模拟数据 facker的mock data都是通过providers package提供的。需要使用哪个providers就需要导入对应的包。
1 2 3 4 5 6 7 from faker import Fakerfrom faker.providers import internetfake = Faker() fake.add_provider(internet) print (fake.ipv4_private())
常用模拟数据 接下来依次说明不同providers的作用。f为Faker实例。
人名 1 2 3 4 5 6 7 8 9 f.name() f.name_female() f.name_male() f.first_name() f.first_name_female() f.first_name_male() f.last_name() f.last_name_female() f.last_name_male()
电话号码 1 2 f.country_calling_code() f.phone_number()
身份识别码
日期时间 1 2 3 4 5 6 7 8 9 f.date() f.day_of_week() f.iso8601() f.month() f.month_name() f.day_of_month() f.time() f.timezone() f.year()
地址 1 2 3 4 5 6 7 8 9 10 11 12 f.address() f.city() f.city_suffix() f.current_country() f.current_country_code() f.country() f.country_code() f.postcode() f.street_address() f.district() f.street_name() f.street_suffix()
地理位置 1 2 3 f.coordinate() f.latitude() f.longitude()
银行
信用卡 1 2 3 4 5 f.credit_card_full() f.credit_card_expire() f.credit_card_number() f.credit_card_provider() f.credit_card_security_code()
颜色 1 2 3 4 5 f.color() f.color(hue='red' ) f.color_name() f.rgb_color() f.rgb_css_color()
企业 1 2 3 4 5 6 f.bs() f.company() f.company_suffix() f.company_email() f.company_prefix() f.job()
数字 1 2 3 f.random_int() f.random_digit() f.random_number()
货币 1 2 3 f.cryptocurrency_name() f.currency_code() f.pricetag()
文本段落 1 2 3 4 5 6 7 8 f.text() f.texts() f.word() f.words() f.paragraph() f.paragraphs() f.sentence() f.sentences()
各种格式的文本 1 2 3 4 f.boolean() f.md5() f.password(length=8 ) f.uuid4()
代理 1 2 3 4 5 f.chrome() f.firefox() f.user_agent() f.android_platform_token() f.ios_platform_token()
网络信息 1 2 3 4 5 6 7 8 9 10 11 12 13 f.domain_name() f.free_email() f.hostname() f.http_method() f.image_url() f.image() f.ipv4_private() f.ipv4_public() f.ipv6() f.mac_address() f.port_number() f.url() f.user_name()
emoji
结合Pytest fixtures使用 用pytest做测试时,可以结合faker使用更方便。
1 2 def test_faker (faker ): assert isinstance (faker.name(), str )