Error message here!

Hide Error message here!

忘记密码?

Error message here!

请输入正确邮箱

Hide Error message here!

密码丢失?请输入您的电子邮件地址。您将收到一个重设密码链接。

Error message here!

返回登录

Close

Mock Server之与被测系统对接(python+flask)

慢慢走的测试 2019-08-19 15:16:00 阅读数:27 评论数:0 点赞数:0 收藏数:0

第一步:获取入参与返回结果

  先通过postman、jmeter、自己写脚本之类的方式请求我们的mock server,试着获取入参与对应的返回值,这里我用的是robotframework + RequestsLibrary

  mock server代码如下,其中多import了request,g,jsonify

 #coding:utf-8
 from flask import Flask,request,g,jsonify
 app = Flask(__name__)
 
 # 返回结果
 @app.before_request
 def set_result():
     g.test_result1 = 'hello world'
     g.test_result2 = {'code':1000,'result':'test'}
 #定义路由
 @app.route('/api/test', methods=['GET'])
 def get_request():
     print 'get request'
     print request.args.to_dict()
     print request.args.get('a')
     print request.values.to_dict()
     print request.values.get('a')
     return g.test_result1
 
 @app.route('/api/test2', methods=['POST'])
 def post_request():
     print 'post request'
     print request.get_data()
     print request.data
     print request.values.get('a')
     return jsonify(g.test_result2)
 
 
 if __name__ == '__main__':
     #host:主机ip,配置为0.0.0.0或主机的ip,则其他同网络环境设备就可以访问该server
     #port:端口号,根据实际情况自定义设置,如5000
     app.run(debug=True,host='0.0.0.0',port=9003)

  ①先试下get_request,预期返回'hello world',robotframework脚本如下:

  执行结果,返回值如下,与预期结果一致:

  后台打印如下,各方法获取入参如下:

  ②再试下post_request,预期返回{'code':1000,'result':'test'},robotframework脚本如下:

  执行结果,返回值如下,与预期结果一致:

  后台打印如下,各方法获取入参如下:

 

第二步:让开发在本地修改配置文件

再看一下mock server的图

我们的目的是要测试被测系统自身的处理逻辑+与外部服务的交互,我们前面准备了server

第一步搞定了获取入参与返回值,那么下一步就是要搞定被测系统与server之间的连接。

因此先让开发在本地修改配置文件,把本来请求外部服务的地址修改成我们的server的,这样我们可以通过浏览器操作他的本地,看是否请求我们的server。

PS1:这里可以用特定的单据操作,先无视入参,构造对应的返回值。

PS2:注意系统请求头的Content-Type是什么。

PS3:系统庞大的话,让开发直接连测试环境数据库或者用copy的测试环境的数据库

 

版权声明
本文为[慢慢走的测试]所创,转载请带上原文链接,感谢
https://www.cnblogs.com/walkingtester/p/11377279.html