charles 怎么抓包不了了_利用Charles抓包巧转接口自动化测试用例

        在前面的文章中,也有介绍类似的工具的。例如:一键将接口请求转为测试用例介绍了开源的mitmproxy录制转化为接口测试用例,postman接口用例转化为python自动化测试用例 文章记录了如何把postman的测试用例转化为python的接口自动化的测试用例,那么今天呢,在来介绍,用charles抓包转为接口测试用例的方式。具体的怎么做呢,听我一一道来。

        首先呢,我们启动charles抓包。打开charles设置抓包,网上教程有很多,这里不再介绍怎么设置charles抓包。我们连上charles的代理去请求对应的接口就可以。这里我们可以看到charles会抓到链接代理的所有的请求。

79fdc8da7f02b15550c4d3852c9d6e37.png

我们可以看到,我们录制的两个请求的接口。那么我们接下来把这个两个接口导出来。怎么导出呢。选择我们的要导出的接口,右键选择export。选择我们要保存的名称,格式选择.har格式。

    接下来,我们去安装对应的python模块。开源地址:https://github.com/httprunner/har2case,对应的安装方式

pip install har2case

            安装完毕后,我们可以去使用下

b2eb0758e3066e1aeece71900f1c1d9c.png

            我们对应产生了两个接口文件,对应都转化成json。

            我们看下对应的json文件。

            第一个文件的json详情。   

{    "config": {        "name": "testcase description",        "variables": {}    },    "teststeps": [        {            "name": "/openapi/api/v2",            "request": {                "url": "http://openapi.tuling123.com/openapi/api/v2",                "method": "POST",                "headers": {                    "Content-Type": "application/json",                    "User-Agent": "PostmanRuntime/7.15.2",                    "Postman-Token": "8a096b5c-425a-4cfc-bf52-75ef38f5ba76"                },                "json": {                    "reqType": 0,                    "perception": {                        "inputText": {                            "text": "闄勮繎鐨勯厭搴�"                        },                        "inputImage": {                            "url": "imageUrl"                        },                        "selfInfo": {                            "location": {                                "city": "鍖椾含",                                "province": "鍖椾含",                                "street": "淇℃伅璺�"                            }                        }                    },                    "userInfo": {                        "apiKey": "",                        "userId": ""                    }                }            },            "validate": [                {                    "eq": [                        "status_code",                        200                    ]                },                {                    "eq": [                        "headers.Content-Type",                        "text/plain; charset=UTF-8"                    ]                }            ]        }    ]}

    第二个文件。

{    "config": {        "name": "testcase description",        "variables": {}    },    "teststeps": [        {            "name": "/openapi/api/v2",            "request": {                "url": "http://openapi.tuling123.com/openapi/api/v2",                "method": "POST",                "headers": {                    "User-Agent": "PostmanRuntime/7.15.2",                    "Postman-Token": "0a2ee535-cfd7-44d4-a1f6-2e433c9a907b"                },                "data": ""            },            "validate": [                {                    "eq": [                        "status_code",                        200                    ]                },                {                    "eq": [                        "headers.Content-Type",                        "text/plain; charset=UTF-8"                    ]                }            ]        }    ]}

        这里我们拿到这两个文件,我们看下,怎么去取这些值,

38639deba66e248b2201d8bf65202221.png

      我们可以看到 teststeps里面的数据是我们可以用到的,用python的json模块,去解析这个文件,拿到对应的name,reuqest的字段里面的数据,写入到我们对应的测试库,组成我们测试用例就可以,注意,部分数据需要进行清洗。

       这样我们就可以将抓包的数据,写入到测试平台或者接口测试框架的数据中,就完成了。

        工具辅助测试,测试利用工具。

          工具带来成长,成长依靠工具。

        关注雷子说测试,每天给你带来不一样的分享。

e7a044ea7b94cbf32c0a6dc11f6bdcc3.png

                                                                        如果感觉有用,点击在看

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值