Python 第三方模块 开发工具1 测试

一.faker模块
1.介绍
(1)用途:

faker模块主要用于伪造各种数据,以便于进行项目测试

(2)安装:

pip install faker
pip install robotframework-faker#faker模块的测试数据生成器

2.Faker类
(1)创建对象:

faker.Faker([locale="en_US"])
  #参数说明:
    locale:指定文化选项(决定生成的数据的格式);str
      常见选项:"zh_CN"(China Mainland)/"zh_TW"(China Taiwan)/"en_US"(United States)

#实例:
>>> import faker
>>> fake=faker.Faker()
>>> fake
<faker.proxy.Faker object at 0x000001909A6EEFD0>

(2)方法

#基础信息:
<f>.ssn():社会安全码/身份证号码
<f>.bs():公司服务名
<f>.company():公司名
<f>.company_suffix():公司性质
<f>.credit_card_expire():信用卡到期日期
<f>.credit_card_full():完整信用卡信息
<f>.credit_card_number():信用卡号
<f>.credit_card_provider():信用卡提供商
<f>.credit_card_security_code():信用卡安全码
<f>.job():职业
<f>.first_name_female():女名
<f>.first_name_male():男名
<f>.name():姓名
<f>.name_female():女性姓名
<f>.name_male():男性姓名
<f>.phone_number():手机号
<f>.profile():个人档案
<f>.simple_profile():简化版个人档案
  #参数说明:
    f:指定Faker object

#实例:接上
>>> fake.ssn()
'848-38-6749'
>>> fake.bs()
'seize cutting-edge content'
>>> fake.company()
'Webb, Schultz and Acevedo'
>>> fake.company_suffix()
'PLC'
>>> fake.credit_card_expire()
'06/26'
>>> fake.credit_card_full()
'Maestro\nJennifer Lambert\n579219796169 08/21\nCVV: 271\n'
>>> fake.credit_card_number()
'3574344416378778'
>>> fake.credit_card_provider()
'Discover'
>>> fake.credit_card_security_code()
'250'
>>> fake.job()
'Retail banker'
>>> fake.first_name_female()
'Brandy'
>>> fake.first_name_male()
'Jeremy'
>>> fake.name()
'Peter Smith DDS'
>>> fake.name_female()
'Tammy Garcia'
>>> fake.name_male()
'Steven Guerrero'
>>> fake.phone_number()
'379.361.9149x53602'

##################################################################################

#日期时间信息:
<f>.am_pm():上下午
<f>.century():世纪
<f>.date():日期
<f>.date_between():指定范围内的日期
<f>.date_of_birth():生日
<f>.date_this_century():本世纪的日期
<f>.date_this_decade():本十年的日期
<f>.date_this_month():本月的日期
<f>.date_this_year():本年的日期
<f>.date_time():时间
<f>.date_time_between():指定范围内的日期时间
<f>.date_time_this_century():本世纪的时间
<f>.date_time_this_decade():本十年的时间
<f>.date_time_this_month():本月的时间
<f>.date_time_this_year():本年的时间
<f>.day_of_month():几号
<f>.day_of_week():星期几
<f>..future_date():未来的日期
<f>..future_datetime():未来的日期时间
<f>.iso8601():ISO8601日期时间
<f>.month():月份
<f>.month_name():月份名
<f>.past_date():过去的日期
<f>.past_datetime():过去的日期时间
<f>.time():时间
<f>.timezone():时区
<f>.unix_time():UNIX时间戳
<f>.year():#实例:
>>> faker.date_of_birth()
datetime.date(1977, 11, 25)
>>> faker.date_time_this_century()
datetime.datetime(2015, 9, 10, 14, 57, 41)
>>> faker.century()
'XXI'
>>> faker.year()
'2020'
>>> faker.month()
'07'
>>> faker.month_name()
'February'
>>> faker.day_of_week()
'Friday'
>>> faker.day_of_month()
'29'
>>> faker.timezone()
'Europe/Amsterdam'
>>> faker.am_pm()
'PM'

##################################################################################

#地理信息:
<f>.address():地址
<f>.city():城市
<f>.city_suffix():城市类型
<f>.country():国家
<f>.country_code():国家缩写
<f>.latitude():纬度
<f>.longitude():经度
<f>.postcode():邮政编码
<f>.street_address():在街道上的地址
<f>.street_name():街道
<f>.street_suffix():街道类型

#实例:
>>> fake.address()
'55201 Holloway Creek Suite 881\nEast Deborah, TN 03361'
>>> fake.city()
'Ellisfort'
>>> fake.city_suffix()
'view'
>>> fake.country()
'Tuvalu'
>>> fake.country_code()
'BN'
>>> fake.latitude()
Decimal('-38.3362255')
>>> fake.longitude()
Decimal('115.601691')
>>> fake.postcode()
'41091'
>>> fake.street_address()
'014 John Way Suite 834'
>>> fake.street_name()
'Johnston Forges'
>>> fake.street_suffix()
'Fords'

##################################################################################

#邮箱信息:
<f>.ascii_company_email():ASCII公司邮箱
<f>.ascii_email():ASCII个人邮箱
<f>.company_email():公司邮箱
<f>.email():个人邮箱
<f>.ascii_safe_email():ASCII安全邮箱
<f>.safe_email():安全邮箱
<f>.free_email():免费邮箱的域名(取决于邮箱服务的提供商)
<f>.free_email_domain():安全邮箱

#实例:接上
>>> fake.free_email()
'leslieestes@gmail.com'
>>> fake.ascii_safe_email()
'crosario@example.net'
>>> fake.free_email_domain()
'hotmail.com'
>>> fake.ascii_company_email()
'pbishop@miller-parker.com'
>>> fake.ascii_email()
'randallmoore@yahoo.com'
>>> fake.company_email()
'crystalbrown@copeland.org'
>>> fake.email()
'gsmith@booth.com'
>>> fake.safe_email()
'edward22@example.com'

##################################################################################

#网络信息
<f>.domain_name():域名
<f>.domain_word():去除后缀的域名
<f>.ipv4():IPv4地址
<f>.ipv6():IPv6地址
<f>.mac_address():MAC地址
<f>.tld():域名类型
<f>.dga([year=None,month=None,day=None,tld=None,length=None]):域名
<f>.hostname():主机名
<f>.http_method():HTTP请求的方式
<f>.uri():URI
<f>.uri_extension():资源名后缀
<f>.uri_page():去除后缀的资源名
<f>.uri_path():资源路径(不包括资源名和域名)
<f>.url():URL
<f>.user_name():用户名
<f>.image_url():图片资源的URL

#实例:接上
>>> fake.dga()
'sxrildwshdnxvuhxiqkjjxure.com'
>>> fake.domain_name()
'thomas.com'
>>> fake.domain_word()
'lang'
>>> fake.hostname()
'db-57.blankenship-sanders.com'
>>> fake.http_method()
'OPTIONS'
>>> fake.ipv4()
'180.240.105.224'
>>> fake.ipv6()
'2d94:95c3:f457:6f50:c5:e406:268:250e'
>>> fake.mac_address()
'2e:a6:52:7e:b8:a8'
>>> fake.tld()
'com'
>>> fake.uri()
'http://www.barry.com/main/posts/list/index.asp'
>>> fake.uri_extension()
'.php'
>>> fake.uri_page()
'post'
>>> fake.uri_path()
'explore'
>>> fake.url()
'https://www.johnson.com/'
>>> fake.user_name()
'lrivera'
>>> fake.image_url()
'https://www.lorempixel.com/106/642'

##################################################################################

#浏览器信息
<f>.chrome():Chrome的UserAgent信息
<f>.firefox():FireFox的UserAgent信息
<f>.internet_explorer():IE的UserAgent信息
<f>.opera():Opera的UserAgent信息
<f>.safari():Safari的UserAgent信息
<f>.linux_platform_token():Linux版本信息
<f>.user_agent():UserAgent信息
<f>.android_platform_token():Android版本信息
<f>.linux_processor():Linux版本类型(取决于CPU类型)
<f>.ios_platform_token():ios版本信息

#实例:
>>> fake.chrome()
'Mozilla/5.0 (Linux; Android 4.1) AppleWebKit/533.0 (KHTML, like Gecko) Chrome/24.0.849.0 Safari/533.0'
>>> fake.firefox()
'Mozilla/5.0 (X11; Linux i686; rv:1.9.6.20) Gecko/2020-03-07 15:49:56 Firefox/3.8'
>>> fake.internet_explorer()
'Mozilla/5.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.1)'
>>> fake.opera()
'Opera/9.10.(Windows 98; cmn-TW) Presto/2.9.180 Version/10.00'
>>> fake.safari()
'Mozilla/5.0 (Macintosh; U; PPC Mac OS X 10_6_1 rv:4.0; pl-PL) AppleWebKit/535.47.2 (KHTML, like Gecko) Version/4.0 Safari/535.47.2'
>>> fake.linux_platform_token()
'X11; Linux i686'
>>> fake.user_agent()
'Mozilla/5.0 (iPod; U; CPU iPhone OS 4_3 like Mac OS X; ayc-PE) AppleWebKit/531.38.5 (KHTML, like Gecko) Version/3.0.5 Mobile/8B111 Safari/6531.38.5'
>>> fake.android_platform_token()
'Android 2.0'
>>> fake.ios_platform_token()
'iPad; CPU iPad OS 12_4 like Mac OS X'
>>> fake.linux_processor()
'x86_64'

##################################################################################

#数字信息:
<f>.numerify():3位随机数字
<f>.random_digit():随机数字(0~9)
<f>.random_digit_not_null():0的随机数字(1~9)
<f>.random_int():随机数(0~9999)
<f>.random_number():随机数(无位数限制)
<f>.pyfloat():随机float
<f>.pyint():随机int
<f>.pydecimal():随机decimal

#实例:
>>> fake.numerify()
'903'
>>> fake.random_digit()
6
>>> fake.random_digit_not_null()
1
>>> fake.random_int()
5776
>>> fake.random_number()
6850
>>> fake.random_number()
433387
>>> fake.pyfloat()
87482526011.7
>>> fake.pyint()
1467
>>> fake.pydecimal()
Decimal('79211744395.1967')

##################################################################################

#文本信息:
<f>.pystr():随机字符串
<f>.random_element():小写字母
<f>.random_letter():字母
<f>.paragraph():1个段落
<f>.paragraphs():几个段落构成的list
<f>.sentence():1句话
<f>.sentences():几句话构成的list
<f>.text():1篇文章
<f>.word():1个单词
<f>.words():几个单词构成的list
<f>.binary():1段二进制文本
<f>.boolean():布尔值
<f>.language_code():语言简称
<f>.locale():地区简称(和创建<f>时指定的不一定相同)
<f>.md5():MD5值
<f>.null_boolean():None
<f>.password():密码
<f>.sha1():SHA1值
<f>.sha256():SHA256值
<f>.uuid4():UUID4值

#实例:
>>> fake.pystr()
'seutDHTbjoCNVmYqhrox'
>>> fake.random_element()
'a'
>>> fake.random_letter()
'n'
>>> fake.random_letter()
'H'
>>> fake.paragraph()
'National clear have discover wear. Guess myself charge your only run. Choose late eye author military another institution. Example family win course team instead.'
>>> fake.paragraphs()
['Far protect camera attack operation artist war.', 'Court about yard population realize writer. Partner upon nation drive different low approach.', 'Social get own civil address foreign. Practice foot daughter speak.']
>>> fake.sentence()
'Foot shake girl leave here.'
>>> fake.sentences()
['Still thousand radio opportunity art.', 'Amount provide blue forget relationship law.', 'Song Mrs open economic American admit traditional such.']
>>> fake.text()
'Experience whether your high rock practice manager. Language administration policy keep need police. Consider coach wide other. Action save mission.'
>>> fake.word()
'deal'
>>> fake.words()
['pretty', 'down', 'within']
>>> fake.boolean()
True
>>> fake.language_code()
'da'
>>> fake.locale()
'es_US'
>>> fake.md5()
'48c4180ff869e81d05bc7b877297d903'
>>> fake.null_boolean()
>>> print(fake.null_boolean())
False
>>> fake.password()
'(LNx0Tw%xf'
>>> fake.sha1()
'0e939e0377b93be90643ee96d5d2de452043d3fe'
>>> fake.sha256()
'883e109053d4458c49a21999366e827560cb7d85ebab12a3658a39a106f23800'
>>> fake.uuid4()
'6f760404-bf26-48b3-9156-aa5e3a52d169'

##################################################################################

#货币信息:
<f>.currency:货币信息
<f>.currency_name():货币名
<f>.currency_code():货币代码

#实例:
>>> faker=faker.Faker()
>>> faker.currency()
('CUP', 'Cuban peso')
>>> faker.currency_name()
'Kenyan shilling'
>>> faker.currency_code()
'CZK'

二.pytest模块
1.概述
(1)简介:

该模块是1个成熟的全功能Python测试框架,具有以下特点:
①简单灵活,容易上手,比Python内置的unittest框架更简洁高效
②支持参数化
③支持简单的单元测试,复杂的功能测试,selenium/appnium等自动化测试,接口自动化测试
④具有很多第三方插件,并可以自定义扩展
⑤可与持续集成工具集成
⑥测试过程中可将某些测试跳过,或对某些预期失败的case标记成失败
⑦支持重复执行失败的case
⑧支持运行由nose/unittest编写的测试case

(2)安装:

pip install pytest

三.cerberus模块
1.概述
(1)简介:

该模块是1个Python验证库,提供了功能强大而又简单轻巧的数据验证功能;并且易于扩展,允许自定义验证

(2)安装:

pip install cerberus

2.使用
(1)概述:

该模块通过定义数据验证模式来工作:验证模式将被传递到Validator并使用validate()进行验证
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值