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

蓝图结构

视图代码

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. 老技术记录-C#+SqlServer使用SqlDependency监听数据库表变化

    开发环境: .net / C# (.net core理论上也可以) 数据库:MS SQL Server 2005 以上 (我用的sqlserver2012) 功能:SqlDependency提供了一种 ...

  2. vue自定义组件(通过Vue.use()来使用)即install的使用

    在vue项目中,我们可以自定义组件,像element-ui一样使用Vue.use()方法来使用,具体实现方法: 1.首先新建一个loading.vue文件 // Cmponent.vue <te ...

  3. java_第一年_JDBC(7)

    Commons-dbutils是一个开源的JDBC工具类库,对JDBC进行封装,简化编码的工作量,包含的API: org.apache.commons.dbutils.QueryRunner org. ...

  4. Excel VBA在生成副本的工作表中插入本工作簿中的VBA模块代码

    即在工作簿中添加一个工作表,然后移出并存为新的工作簿,在移出前将本工作簿的一个模块的代码拷贝至新的工作簿.下面是关键代码: '===================================== ...

  5. Linux安装Python3以及虚拟环境

    python3的linux环境编译安装 1.linux下安装软件的方式 选则yum工具,方便,自行解决软件之间的依赖关系,自动下载且安装 1.配置yum源 可以选择阿里云源,清华源等 配置第一个仓库, ...

  6. 如何在nuxt中添加proxyTable代理

    背景 在本地开发vue项目的时候,当你习惯了proxyTable解决本地跨域的问题,切换到nuxt的时候,你会发现,添加了proxyTable设置并没有什么作用,那是因为你是用的vue脚手架生成的vu ...

  7. web框架的本质(使用socket实现的最基础的web框架、使用wsgiref实现的web框架)

    import socket def handle_request(client): data = client.recv(1024) client.send("HTTP/1.1 200 OK ...

  8. MVC一个action对应多个视图的写法

    一,如下代码 using System; using System.Collections.Generic; using System.Linq; using System.Web; using Sy ...

  9. vue-cli-webpake搭建和配置

    确认创建项目后,后续还需输入一下项目名称.项目描述.作者.打包方式.是否使用ESLint规范代码等等,详见上图.安装顺利执行后会,生成如下文件目录:1.全局化安装cnpm npm install cn ...

  10. git常用相关操作

    // 账号密码克隆远程项目 git clone http://账号:密码@项目地址 // 查看当前状态 git status // 查看修改内容 git diff // 添加并提交 git add . ...