0
点赞
收藏
分享

微信扫一扫

Faker Providers使用及自定义开发


下方查看历史精选文章

重磅发布 - 自动化框架基础指南pdf大数据测试过程、策略及挑战

测试框架原理,构建成功的基石

在自动化测试工作之前,你应该知道的10条建议

在自动化测试中,重要的不是工具

前面两篇文章,一篇介绍了利用Python原生生成测试数据基于Python生成中文测试数据,一篇介绍了Faker库生成测试数据基于Faker生成中文测试数据实例, 本文介绍基于Faker Providers生成测试数据的实例。

Providers介绍

每一个生成器属性(例如name、address、lorem等等)都被称为"fake",faker生成器有很多这样的组件,它们都被打包在"Providers"中。

先看一个简单的实例

# -*- coding: utf-8 -*-
__author__ = "苦叶子"
"""
    faker providers基本实例
"""
from faker import Faker

# 从providers中导入internet组件
from faker.providers import internet


if __name__ == "__main__":
    fake = Faker("zh_CN")

    # 添加provider组件
fake.add_provider(internet)

    # 生成一个私有的ip
ip = fake.ipv4_private()

    print(ip)

运行结果如下

Faker Providers使用及自定义开发_spring

下图为fake内置的providers组件,链接为:https://faker.readthedocs.io/en/stable/providers.html

Faker Providers使用及自定义开发_spring boot_02

下图为第三方贡献的开源的providers组件,链接为:https://faker.readthedocs.io/en/stable/communityproviders.html

Faker Providers使用及自定义开发_vue_03

下面看看如何创建一个自己的Provider,直接看代码实例

# -*- coding: utf-8 -*-
__author__ = "苦叶子"
"""
    实现一个简单的faker provider
"""
from faker import Faker


# 导入provider基类,我们的provider需要继承该类
from faker.providers import BaseProvider


# 创建一个我们的provider
class MyProvider(BaseProvider):
    def my_name(self):
        return "DeepTest"
if __name__ == "__main__":
    print("使用自定义Provider实例")

    fake = Faker('zh_CN')

    # 将自定义provider添加至fake
    fake.add_provider(MyProvider)

    # 调用自定义provider中方法,生成数据
    my_name = fake.my_name()

print(my_name)

运行结果

Faker Providers使用及自定义开发_java_04

是不是很简单?

我们可以根据实际业务需要,来自定义自己的provider,从而能满足测试过程中特定数据的生成需要。

Faker Providers使用及自定义开发_spring_05

Faker Providers使用及自定义开发_vue_06

举报

相关推荐

0 条评论