postman脚本编写规则
PostMan脚本编写
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 | 设置环境变量 pm.environment. set ( "variable_key" , "variable_value" ); 将一个嵌套的对象设置为一个环境变量 var array = [1, 2, 3, 4]; pm.environment. set ( "array" , JSON.stringify(array, null , 2)); var obj = { a: [1, 2, 3, 4], b: { c: 'val' } }; pm.environment. set ( "obj" , JSON.stringify(obj)) 获得一个环境变量 pm.environment. get ( "variable_key" ); 获得一个环境变量(其值是一个字符串化的对象) // These statements should be wrapped in a try-catch block if the data is coming from an unknown source. var array = JSON.parse(pm.environment. get ( "array" )); var obj = JSON.parse(pm.environment. get ( "obj" )); 清除一个环境变量 pm.environment.unset( "variable_key" ); 设置一个全局变量 pm.globals. set ( "variable_key" , "variable_value" ); 获取一个全局变量 pm.globals. get ( "variable_key" ); 清除一个全局变量 pm.globals.unset( "variable_key" ); 获取一个变量 该函数在全局变量和活动环境中搜索变量 pm.variables. get ( "variable_key" ); 检查响应主体是否包含字符串 pm.test( "Body matches string" , function () { pm.expect(pm.response.text()).to.include( "string_you_want_to_search" ); }); 检查响应体是否等于字符串 pm.test( "Body is correct" , function () { pm.response.to.have.body( "response_body_string" ); }); 检查JSON值 pm.test( "Your test name" , function () { var jsonData = pm.response.json(); pm.expect(jsonData.value).to.eql(100); }); Content-Type 存在 pm.test( "Content-Type is present" , function () { pm.response.to.have.header( "Content-Type" ); }); 返回时间少于200ms pm.test( "Response time is less than 200ms" , function () { pm.expect(pm.response.responseTime).to.be.below(200); }); 状态码是200 pm.test( "Status code is 200" , function () { pm.response.to.have.status(200); }); 代码名包含一个字符串 pm.test( "Status code name has string" , function () { pm.response.to.have.status( "Created" ); }); 成功的POST请求状态码 pm.test( "Successful POST request" , function () { pm.expect(pm.response.code).to.be.oneOf([201,202]); }); 为JSON数据使用TinyValidator var schema = { "items" : { "type" : "boolean" } }; var data1 = [ true , false ]; var data2 = [ true , 123]; pm.test( 'Schema is valid' , function() { pm.expect(tv4.validate(data1, schema)).to.be. true ; pm.expect(tv4.validate(data2, schema)).to.be. true ; }); 解码base64编码数据 var intermediate, base64Content, // assume this has a base64 encoded value rawContent = base64Content.slice( 'data:application/octet-stream;base64,' .length); intermediate = CryptoJS.enc.Base64.parse(base64content); // CryptoJS is an inbuilt object, documented here: https://www.npmjs.com/package/crypto-js pm.test( 'Contents are valid' , function() { pm.expect(CryptoJS.enc.Utf8.stringify(intermediate)).to.be. true ; // a check for non-emptiness }); 发送异步请求 此函数可作为预请求和测试脚本使用 pm.sendRequest( "https://postman-echo.com/get" , function (err, response) { console.log(response.json()); }); 将XML主体转换为JSON对象 |
声明 欢迎转载,但请保留文章原始出处:) 博客园:https://www.cnblogs.com/chenxiaomeng/
如出现转载未声明 将追究法律责任~谢谢合作
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具