python http接口测试

 

最近小编在打杂,实现了http传参做接口测试,来分享下http接口测试的流程,小编不是专业测试人员,只是把自己的学习经历分享下,欢迎各位小伙伴来提出建议,大家互相交流共同成长。

领导给出的需求是,通过http请求传参到远程服务器上的脚本,运行脚本后返回结果值到本地

百度了一波,这不就是接口测试吗?

于是小编看了几篇接口测试的博文,也尝试用了几个接口测试的模块,最后终于成功了。撒花✿✿ヽ(°▽°)ノ✿

第一步:传参。通过requests库

    准备一个发送请求且传参脚本,或者你可以用postman,浏览器来发送请求。

    假如你想写一个脚本发送请求,requests库可以帮助你发送get或者post请求,并且可以带上参数

requests.get("http://127.0.0.1:5000/login",params=) or requests.post("http://127.0.0.1:5000/login",params=)

    params变量后面所带的就是你要传给远程服务器的参数,以字典格式存储,如:params= {'username': self.username,'password': self.password},这样,我们就把要传入的参数打包到http请求中了,

    postman的操作也是很简单,不赘述;而浏览器访问url发送请求,那么最好是用get形式,这样参数可以携带在url后面。

    第一步,完成!

第二步:接受参数。

    既然是要接受http请求的参数,那么肯定就要有一个web服务器了,我们用flask轻量级web框架构造一个web服务端,用于接收请求以及获取所携带的参数。

    不熟悉flask的可以参考官方文档:http://docs.jinkan.org/docs/flask/quickstart.html

    我截取官方文档中的例子来示例,最小的flask应用

from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello World!'

if __name__ == '__main__':
    app.run()

  主函数app.run是启动web服务,run的参数有host,port,可以指定ip和端口号,web服务端会自动打开端口,debug = True 时,服务器会在代码修改后自动重新载入,非常方便。同时也很方便你找到代码中的错误。

  @app.route('/') 注释,你可以在这条注释中加上接受请求方法的限制和请求路径,

       比如@app.route('/login', methods=['GET', 'POST']) ,就说明该服务端只接受get和post请求,且url地址为ip+端口号+‘/login’,

   假如在本地搭建web服务器时,请求的地址为   “http://127.0.0.1:5000/login”

  获取参数是在带有@app.route('/') 函数中进行的,request.args.get(key)就可以获取参数字典中,键值为key的值了。

第三步:获取返回值

  当我们请求成功的时候,会获取一个200的状态码,如果web服务器还想返回一些其他信息,就可以在函数中直接return,这样我们在请求成功的时候,也会返回这些信息。

  

  

 

 

  

  

 

posted @ 2019-07-05 16:08  彩色条纹小斑马  阅读(1083)  评论(0编辑  收藏  举报