weixin_53340282 2023-05-19 16:08 采纳率: 0%
浏览 19

postman脚本转换

您好,我想提取一下postman里的前置和后置脚本,但是调用Java方法遍历导出的json文件总是有/r的标签去除不调,请问有什么办法能有效的提取出postman中的前置后置脚本?并且对于pm这个变量只能在postman运行的时候使用么?

  • 写回答

2条回答 默认 最新

  • 技术探索 2023-05-19 20:34
    关注

    引用chatgpt部分指引作答:
    对于您遇到的去除不掉的/r标签问题,您可以使用正则表达式将其删除。以下是一个Java代码示例,用于从导出的Postman集合文件(JSON格式)中提取前/post脚本:

    import java.nio.file.Files;
    import java.nio.file.Paths;
    import java.util.regex.Matcher;
    import java.util.regex.Pattern;
    
    public class ExtractScriptsFromPostman {
        public static void main(String[] args) throws Exception {
    
            // 获取Postman请求集合文件
            byte[] jsonData = Files.readAllBytes(Paths.get("path_to_your_collection_file.json"));
            String requestCollection = new String(jsonData);
            
            // 根据正则表达式搜索前置/后置脚本,并删除/r标签
            Pattern pattern = Pattern.compile("\"(pre|test)_script\":\\{\"type\":\"text\\/javascript\",\"exec\":\"(.*)\"\\}");
            Matcher matcher = pattern.matcher(requestCollection);
    
            while (matcher.find()) {          
                String script = matcher.group(2).replace("\\\r", "");
                System.out.println(script); // 打印脚本内容
            }
        }
    }
    

    至于pm变量只能在Postman运行时使用的问题,这是正确的。pm变量是Postman脚本全局变量,在Postman上下文环境中才能使用。如果您要在其他编程语言中解析Postman脚本并使用类似的对象和方法,请考虑使用适当的库或工具来解析和执行Postman脚本,然后模拟pm变量的行为。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 5月19日