python http接口

编程入门 行业动态 更新时间:2024-10-27 11:25:21

python http<a href=https://www.elefans.com/category/jswz/34/1771365.html style=接口"/>

python http接口

学完接口自动化测试了,我决定把它运用到现在正在进行的项目上。兴致勃勃地创建了一个项目。然而,这一刻才明白,发现除了课堂上所讲的内容,还有很多很多的坑需要填补。报班学习,除了要学习到课堂上老师所讲的内容,更重要的是需要学习到解决问题的方法。

在完成了我的第一个接口请求之后,终于缓了一口气,下面介绍一下我的艰辛历程:

经过查看接口文档,发现这是一个 post 请求,那么好的,看我的!

创建一个 http_request 请求:

i

port requests

url='xxx'

data={'phoneNo': 'xxx'}

res=requests.post(url=url, data=data)

print(res.json())

运行:

{'msg': '【认证鉴权服务器】找不到 clientId', 'result': False, 'kind': '610010000100001'}

咦,报错了!找不到 clientId

在华华老师的提示下,我把它放在 headers 里去,通过使用 fiddler 工具抓包,我把请求头里的信息放到了 headers 里:

import requests

url='xxx'

data={'phoneNo': 'xxxx'}

headers={

"Content-Type": "application/json",

"User-Agent": "xxx/2.9.2 (iPhone; iOS 11.4; Scale/3.00)",

"client_id": "xxx@xxx",

"unicode": "xxx1034acaxxx8c049101a"

}

res=requests.post(url=url,headers=headers, data=data)

print(res.json())

运行:

{'msg': '数据解析异常,请输入有效的数据信息', 'kind': '0000003', 'result': False}

哎, 这是什么鬼。

经过分析,查资料,数据需要做个处理,所以我决定尝试处理一下 data 的数据:

用 JSON 处理 data 的数据:

import json

import requests

url='xxx'

data={'phoneNo': 'xxx'}

headers={

"Content-Type": "application/json",

"User-Agent": "xxx/2.9.2 (iPhone; iOS 11.4; Scale/3.00)",

"client_id": "xxx@xxx",

"unicode": "xxxx"

}

res=requests.post(url=url,headers=headers, data=json.dumps(data))

print(res.json())

运行:

{'data': {'flag': True}, 'result': True}

嘿嘿,终于成功了。

把它封装成类,并加上处理异常的操作:

import requests

import json

class MyHttpRequest:

def my_http_request(self,url,headers,data,http_method):

try:

if http_method.upper() =="POST":

res = requests.post(url=url,data=data,headers=headers)

elif http_method.upper() =="GET":

res = requests.get(url=url,data=data,headers=headers)

else:

print("请求方式不正确")

except Exception as e:

print("请求报错了:{}".format(e))

raise e

return res

if __name__ == '__main__':

url = 'xxx'

headers = {

"Content-Type": "application/json",

"User-Agent": "xxx/2.9.2 (iPhone; iOS 11.4; Scale/3.00)",

"client_id": "xxx@xxx",

"unicode": "xxxx"

}

data = {"phoneNo": "xxx"}

res = MyHttpRequest().my_http_request(url, data=json.dumps(data), http_method="post", headers=headers)

print('结果是:{}'.format(res.json()))

运行:

结果是:{'data': {'flag': True}, 'result': True}

这是我的第一次脱离课堂,自己实际动手去做接口自动化,经过自己的尝试,最终成功了!

自动化测试还有很多路要走,但是我会继续努力的!

更多推荐

python http接口

本文发布于:2024-03-10 01:29:10,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1726670.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:接口   python   http

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!