实现效果,在页面时配置 后台执行

蓝图结构

视图代码

from flask import jsonify
from flask import request
from flask import Blueprint
from flask import render_template from automation.logic import Logic automation = Blueprint('automation', __name__,
static_folder='static',
template_folder='templates',
url_prefix='/automation') @automation.route('/create')
def create():
""" 创建用例的页面 """
return render_template('automation.html') def assert_fail(data):
""" 判断用例名和commands必传 """
fail = {
'status': 400,
'data': data
} # 判断用例名必传
casename = data.get('casename', None)
if not casename:
fail.setdefault('message', '用例名必传')
return jsonify(fail) # 判断commands必传
commands = data.get('commands', None)
if not commands:
fail.setdefault('message', '执行动作必传')
return jsonify(fail)
return None @automation.route('/api/v1/run', methods=['POST'])
def api_v1_run():
""" 运行的视图 """
data = request.get_json() # 接收数据
print(data)
# 判断用例名和commands必传
fail = assert_fail(data)
if fail:
return fail # 执行逻辑
print('开始执行')
try:
Logic().execute(data)
return jsonify({
'status': 0,
'message': '执行完毕',
'data': data
})
except Exception as error:
return jsonify({
'status': 0,
'message': str(error),
'data': data,
}) @automation.route('/api/v1/save', methods=['POST'])
def api_v1_save():
""" 保存的视图 """
data = request.get_json() # 接收数据 # 判断用例名和commands必传
fail = assert_fail(data)
if fail:
return fail # 执行保存逻辑
try:
caseid = Logic().save(data)
return jsonify({
'status': 0,
'message': '保存成功',
'data': caseid
})
except Exception as error:
return jsonify({
'status': 0,
'message': str(error),
'data': data,
}) @automation.route('/api/v1/trigger', methods=['POST'])
def api_v1_trigger():
data = request.get_json()
print(data)
id = data.get('id', None)
if not id:
jsonify({
'status': 400,
'message': 'id必传',
'data': data
}) try:
logic = Logic()
id = logic.trigger(data)
return jsonify({
'status': 0,
'message': '执行完成',
'data': id
})
except Exception as error:
return jsonify({
'status': 0,
'message': str(error),
'data': data,
})

测开之路六十三:UI测试平台之视图层的更多相关文章

  1. 测开之路六十一:接口测试平台之interface蓝图

    create的js //添加header的函数function add_header() { // 这里是动态拼接html语句,带着样式,拼凑成页面的 "key [] value []&qu ...

  2. 测开之路六十:接口测试平台之common目录

    实现接口测试平台使用jsonpath进行取值来断言,效果: 访问页面: 调试功能:http://www.kuaidi100.com/query 保存功能 触发执行功能 查看报告功能 目录结构 comm ...

  3. 测开之路六十六:UI测试平台之处理逻辑和蓝图添加到程序入口

    from selenium import webdriverfrom common import get_case_idfrom common.mongo import Mongo class Log ...

  4. 测开之路六十五:UI测试平台之js

    //添加网址的函数,生成一个输入网址的标签,并且把标签append到id为cases下function browser() { var html = '\ <div class="ro ...

  5. 测开之路六十四:UI测试平台之前端页面

    {% extends "base.html" %} {% block script %} <!-- 引入js文件,需要在base.html留入口,不然渲染会出问题. --&g ...

  6. 测开之路五十三:unittest运行参数

    Fixture:进行测试前的准备工作和测试后的清理操作.例如创建临时或是代理数据库,目录,服务进程等.用例(Case):最小的测试单元,检车特定输入的响应.TestCase作为所有用例的基类,测试ca ...

  7. 测开之路七十三:用kafka实现消息队列之环境搭建

    一:装java环境,确保java能正确调用 kafka下载地址:http://kafka.apache.org/downloads 下载并解压kafka: 新建两个文件夹,用于存放zookeeper和 ...

  8. 测开之路九十三:css之文字样式和段落对齐

    引用css 字体族 字体类型和尺寸 em:字体按倍数缩放 font-weight:调整文字的粗细 段落对齐:text-align 左对齐:left 右对齐:right 居中对齐:center 两边对齐 ...

  9. 测开之路八十三:高级函数:map()和filter()

    # map(函数名,可迭代对象)# 给可迭代对象的每个值+5l = list(range(1, 21)) def add_number(x):    return x + 5 # 第一种方式print ...

随机推荐

  1. SpringBoot(五) -- SpringBootWeb登录示例

    一.解决index.html访问 在SpringBoot中默认访问的首页是静态资源文件夹下的index.html,无法被Thymeleaf模板引擎解析,因此我们可以定义一个controller将默认请 ...

  2. webpack基本介绍及使用

    1.什么是webpack webpack是一个前端资源加载/打包工具.它根据模块的依赖关系进行静态分析,然后将这些模块按照指定的规则生成对应的静态资源. 官网地址:https://www.webpac ...

  3. Django中orm的惰性机制

    那么首先要知道什么是ORM 专业化的角度来说:叫对象关系映射(Object-Relation Mapping)是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术. 那具体ORM是什么呢?:( ...

  4. 本地启oracle实例服务无法重启,协议适配器错误

    今天遇到一位朋友的oracle实例服务无法起来,启动时报错: 分析的原因是可能早上服务器突然断电造成的,经过对tns的测试 经过我们讨论和诊断,最后诊断的处理方法是将实例删了重装,处理后服务恢复正常: ...

  5. 在Centos7.6使用kubeadm部署k8s 1.14.3

    K8s不是一个软件,而是一堆软件的集合,由于这堆软件各自独立,因此可能k8s安装过程很容易出现问题 K8s部署有多种方式,本文使用kubeadm部署,从易操作性和可控性来说属于中等的方式 环境:cen ...

  6. Jquery实例链接

    jquery学习笔记 jquery实现全选,反选,取消的操作 左侧菜单收缩的实现(包括,筛选器,addclass.removeclass.绑定事件,链式编程) 模态对话框实现增加删除表格里面的内容 j ...

  7. 只要三步,你就可以在github上发布网站了

    今天,看到github推送了一个新的消息,Publishing with GitHub Pages, now as easy as 1, 2, 3.总结起来就是在github将你的文档或者发布网页将会 ...

  8. 升级docker至最新版本

    升级docker至最新版本 1.查找主机上关于Docker的软件包 [root@pre1 ~]# rpm -qa | grep docker docker-1.13.1-88.git07f3374.e ...

  9. MacBook Pro修改hosts

    访达前往:/etc/hosts 将hosts复制到桌面修改保存 替换 附Windows hosts文件位置: C:\windows\System32\drivers\etc

  10. mysql +keeplive+drbd高可用架构(MHA基于监听端口VIP的高可用)

    1MySQL+DRBD+keepalived高可用架构 DRBD(DistributedReplicatedBlockDevice)是一个基于块设备级别在远程服务器直接同步和镜像数据的开源软件,类似于 ...