Postman进阶篇(九)-动态变量(Dynamic variables)随机生成参数

  • 在日常工作中,有时不希望每次请求接口都使用同一参数,但通过手动输入又十分麻烦,比如手机号,随机输入时还要思考是否符合运行商号码的组成规则。
  • Postman中内置的动态变量(Dynamic variables)恰好非常适合来解决这个问题。

一、原理与使用方法

  • 原理
    • Postman通过faker library库生成随机参数,这些参数包括随机名称、地址、电子邮件地址等。
    • 动态变量在执行时也是发送请求时,才会生成随机参数
  • 引用方式
    • Postman中其他变量的引用方法: {{变量名}}
    • 动态变量则是多一个“ $ ”进行区分: {{$变量名}}
  • 快捷输入
    • 在postman的请求参数中 输入“{{” 会展示变量列表。在全局变量和环境变量的下方就是动态变量。
      在这里插入图片描述
  • 成功引用动态变量之后,将鼠标移动到变量上,会显示当前这个变量的描述。可以看得到动态变量的作用范围等同于全局变量
    在这里插入图片描述

二、在请求参数中使用动态变量

  • 在接口请求参数中可以直接引用变量
  • 例如,在URL和body分别添加参数Country,参数的值为随机的国家名称
    • 使用的动态变量:
    {{$randomCountry}}  //随机的国家名称
    

在这里插入图片描述

  • 运行脚本后可以在控制台看到接口运行的日志。
    (之间专栏也有介绍过控制台,文章地址:console控制台
  • URL中与body中分别生成一个国家名称。
    在这里插入图片描述

三、在脚本中使用动态变量

  • 在之前的文章中介绍过postman中的两个脚本——pre-request script或test script。
    pre-request script详细介绍Test script详细介绍
  • 在脚本中也可以引用动态变量。但是如果直接引用的话,可以发现脚本会报错:
    在这里插入图片描述
  • 在脚本中使用动态变量,需要使用“pm.variables.replaceIn()”方法。
  • 这个方法是专门用于返回脚本中动态变量的解析值。
  • 将“pm.variables.replaceIn()”方法加入上面的代码:
    console.log(pm.variables.replaceIn('{{$randomCountry}}'))
    
  • 发送脚本之后可以看到在脚本当中的动态变量也生成了一个随机的城市名称
    在这里插入图片描述
  • 脚本引用动态变量时,字符串可以不只有变量,也可以有其他字符,“pm.variables.replaceIn()”方法会自动解析并组合,例如:
    console.log(pm.variables.replaceIn('动态变量生成了一个随机城市名:{{$randomCountry}}'))
    
    • 脚本运行之后可以看到,字符串内的动态变量也能够被识别并解析。
      在这里插入图片描述

四、Postman提供的所有动态变量

1、通用变量

变量名描述举例
$guiduuid-v4样式的guid“611c2e81-2ccb-42d8-9ddc-2d0bfa65c1b4”
$timestamp当前UNIX时间戳(秒)1562757107, 1562757108, 1562757109
$isoTimestamp当前ISO时间戳(UTC为零)2020-06-09T21:10:36.177Z
$randomUUID随机36字符的UUID“6929bb52-3ab2-448a-9796-d6480ecad36b”

2、文本、数字、颜色

变量名描述举例
$randomAlphaNumeric随机字母、数字、字符6, “y”, “z”
$randomBoolean随机布尔值true, false
$randomInt0 到 1000 之间的随机整数802, 494, 200
$randomColor随机的颜色名称“red”, “fuchsia”, “grey”
$randomHexColor随机十六进制值“#47594a”, “#431e48”, “#106f21”
$randomAbbreviation随机缩写SQL, PCI, JSON

3、网络、IP地址

变量名描述举例
$randomIP随机IPv4地址241.102.234.100, 216.7.27.38
$randomIPV6随机IPv6地址dbe2:7ae6:119b:c161:1560:6dda:3a9b:90a9
$randomMACAddress随机MAC地址33:d4:68:5f:b4:c7, 1f:6e:db:3d:ed:fa
$randomPassword随机密码(15个字符)t9iXe7COoDKv8k3, QAzNFQtvR9cg2rq
$randomLocale随机两个字母的语言代码 (ISO 639-1)“ny”, “sr”, “si”
$randomUserAgent随机用户代理Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.9.8; rv:15.6) Gecko/20100101 Firefox/15.6.
$randomProtocol随机网络协议“http”, “https”
$randomSemver随机版本号7.0.5, 2.5.8, 6.4.9

4、名字

变量名描述举例
$randomFirstName随机名字Ethan, Chandler, Megane
$randomLastName随机姓氏Schaden, Schneider, Willms
$randomFullName随机名字(英文名)Connie Runolfsdottir, Sylvan Fay, Jonathon Kunze
$randomNamePrefix随机姓名前缀Dr., Ms., Mr.
$randomNameSuffix随机姓名后缀I, MD, DDS

5、职业

变量名描述举例
$randomJobArea随机工作领域Mobility, Intranet, Configuration
$randomJobDescriptor随机工作描述Forward, Corporate, Senior
$randomJobTitle随机职位名称International Creative Liaison,Product Factors Officer,Future Interactions Executive
$randomJobType随机工作类型Supervisor, Manager, Coordinator

6、手机号码、地址、定位

变量名描述举例
$randomPhoneNumber随机的十位数电话号码700-008-5275, 494-261-3424, 662-302-7817
$randomPhoneNumberExt随机座机号码(12位)27-199-983-3864, 99-841-448-2775
$randomCity随机城市名称Spinkahaven, Korbinburgh, Lefflerport
$randomStreetName随机街道名称Kuhic Island, General Street, Kendrick Springs
$randomStreetAddress随机街道地址5742 Harvey Streets, 47906 Wilmer Orchard
$randomCountry随机国家Lao People’s Democratic Republic, Kazakhstan, Austria
$randomCountryCode随机国家代码 (ISO 3166-1 2位字符)CV, MD, TD
$randomLatitude随机纬度坐标55.2099, 27.3644, -84.7514
$randomLongitude随机经度坐标40.6609, 171.7139, -159.9757

7、图片

变量名描述举例
$randomAvatarImage随机头像https://s3.amazonaws.com/uifaces/faces/twitter/johnsmithagency/128.jpg
$randomImageUrl随机图像的URLhttp://lorempixel.com/640/480
$randomAbstractImage随机抽象图像的URLhttp://lorempixel.com/640/480/abstract
$randomAnimalsImage随机动物图像的URLhttp://lorempixel.com/640/480/animals
$randomBusinessImage随机股票业务图像的URLhttp://lorempixel.com/640/480/business
$randomCatsImage随机猫图像的URLhttp://lorempixel.com/640/480/cats
$randomCityImage随机城市图像的URLhttp://lorempixel.com/640/480/city
$randomFoodImage随机食物图像的URLhttp://lorempixel.com/640/480/food
$randomNightlifeImage随机夜生活图像的URLhttp://lorempixel.com/640/480/nightlife
$randomFashionImage随机时尚图像的URLhttp://lorempixel.com/640/480/fashion
$randomPeopleImage随机人物图像的URLhttp://lorempixel.com/640/480/people
$randomNatureImage随机自然图像的URLhttp://lorempixel.com/640/480/nature
$randomSportsImage随机运动图像的URLhttp://lorempixel.com/640/480/sports
$randomTransportImage随机交通图像的URLhttp://lorempixel.com/640/480/transport
$randomImageDataUri随机图像数据URI如下

$randomImageDataUri (随机图像数据URI的示例):
data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20version%3D%221.1%22%20baseProfile%3D%22full%22%20width%3D%22undefined%22%20height%3D%22undefined%22%3E%20%3Crect%20width%3D%22100%25%22%20height%3D%22100%25%22%20fill%3D%22grey%22%2F%3E%20%20%3Ctext%20x%3D%220%22%20y%3D%2220%22%20font-size%3D%2220%22%20text-anchor%3D%22start%22%20fill%3D%22white%22%3Eundefinedxundefined%3C%2Ftext%3E%20%3C%2Fsvg%3E

8、金钱相关

变量名描述举例
$randomBankAccount随机的8位银行帐号09454073, 65653440, 75728757
$randomBankAccountName随机的银行帐户名称Home Loan Account, Checking Account, Savings Account. Auto Loan Account
$randomCreditCardMask随机屏蔽的信用卡号3622, 5815, 6257
$randomBankAccountBic随机BIC(银行识别码)EZIAUGJ1, KXCUTVJ1, DIVIPLL1
$randomBankAccountIban随机的15-31个字符的IBAN(国际银行帐号)MU20ZPUN3039684000618086155TKZ、BR7580569810060080800805730W2、XK241602002200395017
$randomTransactionType随机事务类型invoice, payment, deposit
$randomCurrencyCode随机3个字母的货币代码(ISO-4217)CDF, ZMK, GNF
$randomCurrencyName随机货币名称CFP Franc, Cordoba Oro, Pound Sterling
$randomCurrencySymbol随机货币符号$, £
$randomBitcoin随机比特币地址3VB8JGT7Y4Z63U68KGGKDXMLLH5、1GY5TL5NEX3D1EA0TCWPLGVPQF5EAF、14IIEXV2AKZAHSCY2KNYP213VRLD

9、商业

变量名描述举例
$randomCompanyName随机的公司名称Johns - Kassulke, Grady LLC
$randomCompanySuffix随机的公司后缀Inc, LLC, Group
$randomBs商业演讲的随机短语killer leverage schemas,bricks-and-clicks deploy markets,world-class unleash platforms
$randomBsAdjective随意的商业用语形容词viral, 24/7, 24/365
$randomBsBuzz随意的商业用语repurpose, harness, transition
$randomBsNoun随意的商务用语名词e-services, markets, interfaces

10、流行语

变量名描述举例
$randomCatchPhrase随机的流行语Future-proofed heuristic open architecture,Quality-focused executive toolset,Grass-roots real-time definition
$randomCatchPhraseAdjective随机流行语形容词Self-enabling, Business-focused, Down-sized
$randomCatchPhraseDescriptor随机流行语描述符bandwidth-monitored, needs-based, homogeneous
$randomCatchPhraseNoun随机流行语名词secured line, superstructure,installation

11、数据库

变量名描述举例
$randomDatabaseColumn随机数据库列名称updatedAt, token, group
$randomDatabaseType随机数据库类型tinyint, text
$randomDatabaseCollation随机数据库排序cp1250_bin, utf8_general_ci, cp1250_general_ci
$randomDatabaseEngine随机数据库引擎MyISAM, InnoDB, Memory

12、日期

变量名描述举例
$randomDateFuture随机的未来日期时间Tue Mar 17 2020 13:11:50 GMT+0530 (India Standard Time),Fri Sep 20 2019 23:51:18 GMT+0530 (India Standard Time),Thu Nov 07 2019 19:20:06 GMT+0530 (India Standard Time)
$randomDatePast随机过去的日期时间Sat Mar 02 2019 09:09:26 GMT+0530 (India Standard Time),Sat Feb 02 2019 00:12:17 GMT+0530 (India Standard Time),Thu Jun 13 2019 03:08:43 GMT+0530 (India Standard Time)
$randomDateRecent随机的最近日期时间Tue Jul 09 2019 23:12:37 GMT+0530 (India Standard Time),Wed Jul 10 2019 15:27:11 GMT+0530 (India Standard Time),Wed Jul 10 2019 01:28:31 GMT+0530 (India Standard Time)
$randomWeekday一周中随机的一天Thursday, Friday, Monday
$randomMonth随机月份February, May, January

13、域名、电子邮件和用户名

变量名描述举例
$randomDomainName随机域名gracie.biz, armando.biz, trevor.info
$randomDomainSuffix随机域后缀org, net, com
$randomDomainWord随机的非限定域名gwen, jaden, donnell
$randomEmail随机电子邮件地址Pablo62@gmail.com, Ruthe42@hotmail.com,Iva.Kovacek61@hotmail.com
$randomExampleEmail以 “example” 作为域名的随机电子邮箱地址Talon28@example.com,Quinten_Kerluke45@example.net, Casey81@example.net
$randomUserName随机用户名Jarrell.Gutkowski, Lottie.Smitham24, Alia99
$randomUrl随机URLhttps://anais.net, https://tristin.net, http://jakob.name

14、文件、目录

变量名描述举例
$randomFileName随机文件名(包括不常见的扩展名)neural_sri_lanka_rupee_gloves.gdoc,plastic_awesome_garden.tif,incredible_ivory_agent.lzh
$randomFileType随机文件类型(包括不常见的文件类型)model, application, video
$randomFileExt随机文件扩展名(包括不常见的扩展名)war, book, fsc
$randomCommonFileName随机文件名well_modulated.mpg4,rustic_plastic_tuna.gif,checking_account_end_to_end_robust.wav
$randomCommonFileType随机的通用文件类型application, audio
$randomCommonFileExt随机的通用文件扩展名m2v, wav, png
$randomFilePath随机文件路径/home/programming_chicken.cpio,/usr/obj/fresh_bandwidth_monitored_beauty.onetoc,/dev/css_rustic.pm
$randomDirectoryPath随机目录路径/usr/bin, /root, /usr/local/bin
$randomMimeType随机MIME类型audio/vnd.vmx.cvsd,application/vnd.groove-identity-message,application/vnd.oasis.opendocument.graphics-template

15、商店

变量名描述举例
$randomPrice0.00 到1000.00之间随机的价格531.55, 488.76, 511.56
$randomProduct随机的产品Towels, Pizza, Pants
$randomProductAdjective随机产品形容词Unbranded, Incredible, Tasty
$randomProductMaterial随机产品材料Steel, Plastic, Frozen
$randomProductName随机产品名称Handmade Concrete Tuna, Refined Rubber Hat
$randomDepartment随机商业类别Tools, Movies, Electronics

16、语法

变量名描述举例
$randomNoun随机名词matrix, bus, bandwidth
$randomVerb随机动词parse, quantify, navigate
$randomIngverb以-ing结尾的随机动词synthesizing, navigating, backing up
$randomAdjective随机形容词auxiliary, multi-byte, back-end
$randomWord一个随机的单词withdrawal, infrastructures, IB
$randomWords一些随机单词Samoa Synergistic sticky copying Grocery,Corporate Springs,Christmas Island Ghana Quality
$randomPhrase随机短语You can’t program the monitor without navigating the mobile XML program!,overriding the capacitor won’t do anything, we need to compress the optical SMS transmitter!,I’ll generate the virtual AI program, that should microchip the RAM monitor!

17、乱数假文(Lorem ipsum)

Lorem ipsum百度百科:
中文又称“乱数假文”, 是指一篇常用于排版设计领域的拉丁文文章。 主要的目的为测试文章或文字在不同字型、版型下看起来的效果。通常网站还没建设好时会出现这段文字。

变量名描述举例
$randomLoremWordlorem ipsum文本的随机单词est
$randomLoremWordslorem ipsum文本中的一些随机词vel repellat nobis
$randomLoremSentencelorem ipsum文本的随机句子Molestias consequuntur nisi non quod.
$randomLoremSentences随机2到6句lorem ipsum文本Et sint voluptas similique iure amet perspiciatis vero sequi atque. Ut porro sit et hic. Neque aspernatur vitae fugiat ut dolore et veritatis. Ab iusto ex delectus animi. Voluptates nisi iusto. Impedit quod quae voluptate qui.
$randomLoremParagraphlorem ipsum文本的随机段落Ab aliquid odio iste quo voluptas voluptatem dignissimos velit. Recusandae facilis qui commodi ea magnam enim nostrum quia quis. Nihil est suscipit assumenda ut voluptatem sed. Esse ab voluptas odit qui molestiae. Rem est nesciunt est quis ipsam expedita consequuntur.
$randomLoremParagraphslorem ipsum文本的3个随机段落Voluptatem rem magnam aliquam ab id aut quaerat. Placeat provident possimus voluptatibus dicta velit non aut quasi. Mollitia et aliquam expedita sunt dolores nam consequuntur. Nam dolorum delectus ipsam repudiandae et ipsam ut voluptatum totam. Nobis labore labore recusandae ipsam quo.
$randomLoremText随机数量的lorem ipsum文本Quisquam asperiores exercitationem ut ipsum. Aut eius nesciunt. Et reiciendis aut alias eaque. Nihil amet laboriosam pariatur eligendi. Sunt ullam ut sint natus ducimus. Voluptas harum aspernatur soluta rem nam.
$randomLoremSlug一个随机的lorem ipsum URL slugeos-aperiam-accusamus, beatae-id-molestiae, qui-est-repellat
$randomLoremLines1至5行lorem ipsum句子Ducimus in ut mollitia.A itaque non.Harum temporibus nihil voluptas.Iste in sed et nesciunt in quaerat sed.

附录:postman系列文章目录

零基础入门接口功能测试教程-目录
—————————————————————————————————
postman系列文章内所使用的示例文件已经上传到了本人运营公众号【软件测试必备技能】
在这里插入图片描述
有需要可点击文章下发二维码,前往领取~
在这里插入图片描述

  • 10
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
在使用Postman进行接口测试时,如果登录接口中包含了随机验证码,可以通过以下步骤进行测试: 1. 首先,需要获取验证码的接口地址和参数。可以通过查看接口文档或与开发人员确认来获取这些信息。 2. 在Postman中创建一个新的请求,并设置请求方法为GET或POST,根据实际情况填写接口地址和参数。 3. 如果验证码是通过图片形式返回的,可以在请求头中添加Accept参数,值为image/png或image/jpeg,以告诉服务器返回图片格式的验证码。 4. 发送请求,获取验证码的响应。 5. 如果验证码是以Base64编码的字符串形式返回的,可以使用Base64解码工具将其解码为图片,并进行查看和验证。 6. 如果验证码是以其他形式返回的,可以根据具体情况进行处理,例如将其保存为文件或在响应数据中查找。 需要注意的是,由于验证码是随机生成的,每次请求都可能会有不同的验证码。因此,在测试过程中可能需要多次发送请求来获取不同的验证码,并进行验证。 引用\[1\]和\[2\]提供了关于Postman的基础用法和高级用法的信息,可以帮助你更好地使用Postman进行接口测试。引用\[3\]提供了关于Base64的相关信息,可以帮助你理解在HTTP协议下传输二进制数据时使用Base64的情况。 #### 引用[.reference_title] - *1* *2* [接口测试——postman和Jemter](https://blog.csdn.net/weixin_43754879/article/details/128522922)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [测试图形验证码接口](https://blog.csdn.net/yeqiulaobuxiu/article/details/122185263)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

软件测试必备技能

有钱捧个钱场,没钱捧个人场

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值