Java-charles导出Json文件转成yaml文件

目标:

从charles抓包导出json文件,可以自动转成Yaml文件作为测试用例来使用

思路:

网上没有找到现成的包,所以自己来实现,如果网友们有什么更好的方法,可以留言区给与提示,感谢大家。

json文件->File对象->用例对象->yaml文件

1.先将charles文件(Json格式的)转换成对象JsonFileDto
2.再将转换对象JsonFileDto中需要提取的属性,保存成一个新对象CaseYamlFileDto
3.将JsonFileDto 转换成yaml文件

实现:

1.导入charles文件,放入data/目录下

[
    {
   
        "status":"COMPLETE",
        "method":"GET",
        "protocolVersion":"HTTP/1.1",
        "scheme":"http",
        "host":"",
        "port":null,
        "actualPort":80,
        "path":"/",
        "query":"userExtendId=2079&userId=1879",
        "tunnel":false,
        "keptAlive":false,
        "webSocket":false,
        "remoteAddress":",
        "clientAddress":"/127.0.0.1",
        "clientPort":61786,
        "times":{
   
            "start":"2021-01-20T14:59:18.169+08:00",
            "requestBegin":"2021-01-20T14:59:18.183+08:00",
            "requestComplete":"2021-01-20T14:59:18.184+08:00",
            "responseBegin":"2021-01-20T14:59:18.328+08:00",
            "end":"2021-01-20T14:59:18.329+08:00"
        },
        "durations":{
   
            "total":157,
            "dns":2,
            "connect":9,
            "ssl":null,
            "request":1,
            "response":1,
            "latency":144
        },
        "speeds":{
   
            "overall":"7337",
            "request":"535000",
            "response":"617000"
        },
        "totalSize":"1152",
        "request":{
   
            "sizes":{
   
                "headers":535,
                "body":0
            },
            "mimeType":null,
            "charset":null,
            "contentEncoding":null,
            "header":{
   
                "firstLine":"GET /studyApi/study/V3/index?userExtendId=2079&userId=1879 HTTP/1.1",
                "headers":[
                    {
   
                        "name":"deviceType",
                        "value":"0"
                    },
                    {
   
                        "name":"appVersion",
                        "value":"2.8.0"
                    },
                    {
   
                        "name":"Accept",
                        "value":"*/*"
                    },
                    {
   
                        "name":"appName",
                        "value":"da-cloudclass-app"
                    },
                    {
   
                        "name":"sign",
                        "value":"cd0680b4364dc4fc1d221fec49362719"
                    },
                    {
   
                        "name":"versionCode",
                        "value":"27"
                    },
                    {
   
                        "name":"token",
                        "value":"3e81038f5647da4928276112923c40b5"
                    },
                    {
   
                        "name":"timeStamp",
                        "value":"1611125957213"
                    },
                    {
   
                        "name":"osVersion",
                        "value":"14.0"
                    },
                    {
   
                        "name":"osType",
                        "value":"ios"
                    },
                    {
   
                        "name":"model",
                        "value":"iPhone11"
                    },
                    {
   
                        "name":"debugMode",
                        "value":"0"
                    },
                    {
   
                        "name":"uniqueId",
                        "value":"da7a5e4ea36357d6eb7f187e92bae6a593355179"
                    },
                    {
   
                        "name":"Content-Length",
                        "value":"0"
       

你可能感兴趣的:(java,yaml)