您好,我想提取一下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变量的行为。
解决 无用评论 打赏 举报 编辑记录