总结:
使用该工具,可以在页面中执行操作,不用操作代码,降低使用成本,项目中其他成员也可以使用。使用直接调用接口的方式,方便快捷,节省大量造数据时间,提高了测试效率。
在项目测试过程中,整体测试场景复杂,链路长,造测试数据耗时长。为了更好的解决该问题,使用django框架并调用项目接口,实现了一个类似mock数据的工具。
django 框架简介:
Django是一个开放源代码的Web应用框架,由Python写成。采用了MTV的框架模式,即模型M,视图V和模版T。
项目结构:
项目共分为5个大模块, 模型Model,视图 views,模板templates,Common 封装http请求,Data 封装具体的项目接口
- Common 模块:实现功能,封装带有token的get/post请求;用户登录信息的存储。
- Data 模块:实现功能,把要调用的项目接口封装成具体的方法,并实现具体的标注/质检/验收逻辑。
- 模型Model 模块:定义模型,定义模型类方法,将在该平台生成的项目信息存储到mysql
- 视图 views 模块:视图的本质就是一个python中的函数,作用是接收web请求,并响应web请求。实现过程,django获取浏览器输入的url,经过django中的url管理器匹配到对应的视图函数,视图管理器执行视图函数,并将结果返回给浏览器。在视图函数中可以调用,Data模块中的已经封装好的接口方法,响应web请求。
- 模板 templates模块:是html页面,可以根据视图中传递的数据进行填充,进而展示给用户。该模块主要是存储,html页面文件。
执行场景描述:
使用该工具执行【创建项目流程】。首先配置页面访问页面的url,并在 templates中编辑该页面的html信息。用户在浏览器中访问url并进行操作,发送请求。views 接收到用户请求,执行Views中的函数(触发创建项目接口),执行完毕将结果传递给 templates中的html页面。html页面信息在浏览器中展示给用户。以下是具体实现的代码
# 定义视图函数
def createpro(request):
test_en = request.POST.get('test')
task_tools = request.POST.get('tools')
if task_process == '标注--质检--验收':
checkType = 0
else:
checkType = 1
# 调用运营人员创建项目接口
res = CreProject().create_pro(project_name_new, checkType, user_admin,check_user_id)
# 使用模型的类方法,将创目信息存储到数据库
pro = ProjectInfo.createPro(test_en, task_tools, task_stage, task_process, user_name, project_name_new,time_stamp_pro)
pro.save()
# 将项目信息返回到视图的html页面中
return render(request, 'vegas/create_success.html',
{"projectName": project_name_new,"mark_phone":mark_phone})