Tests

文档示例 https://learning.postman.com/docs/writing-scripts/script-references/test-examples/ 语法 https://www.chaijs.com/api/bdd/

  1. //判断列表对象中的时间字段在某个范围
  2. pm.test("create_time between ('2020-05-01','2020-05-24')", function () {
  3. var jsonData = pm.response.json();
  4. jsonData.data.list.find(function(m){
  5. pm.expect(new Date(m.create_time)).to.within(new Date('2020-05-01 08:00:00'),new Date('2020-05-25 08:00:01'));
  6. }
  7. );
  8. });
  9. //判断列表对象中搜索字段是否包含搜索内容
  10. pm.test("搜索公司名称是'嘉鸿'", function () {
  11. var jsonData = pm.response.json();
  12. jsonData.data.list.find(function(item){
  13. pm.expect(item.company_name).to.contain('嘉鸿');
  14. });
  15. });
  16. //判断列表对象是否等于某几个值之一
  17. pm.test("公司类型 = '1' || '2'", function () {
  18. var jsonData = pm.response.json();
  19. jsonData.data.list.find(function(m){
  20. pm.expect(m.company_type).to.eq('1') || pm.expect(m.company_type).to.eq('2');
  21. }
  22. );
  23. });
  24. //判断数组长度最大不超过N
  25. pm.test("最多5条记录", function () {
  26. var jsonData = pm.response.json();
  27. pm.expect(jsonData.data.list).to.have.lengthOf.at.most(5);
  28. });

Pre-request Script

  1. //获取请求参数
  2. const param = pm.request.body.urlencoded.toObject();
  3. //参数正序
  4. function paramSortAsc(param){
  5. const res = {};
  6. const paramKeys = Object.keys(param).sort();
  7. for (let k of paramKeys) {
  8. res[k] = param[k]
  9. }
  10. return res
  11. }
  12. //md5
  13. const md5 = CryptoJS.MD5(data).toString()
  14. //base64
  15. const base64 = CryptoJS.enc.Base64.stringify(CryptoJS.enc.Utf8.parse(data)
  16. //urlencode
  17. const urlencode = encodeURIComponent(data)
  18. //增加xdebug调试
  19. pm.request.url.query.append({"key":"XDEBUG_SESSION_START","value":1})