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

蓝图结构

视图代码

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. sql Server20008总结

    1.like------->常用于“数据库的模糊查询” 1)即:查询某个字段中含有哪些的内容的数据库的信息列表(详情) 比如:查询学生表中名字姓是‘韩’的所有学生的信息 select * fro ...

  2. sql中的sp_helptext、sp_help 、sp_depends

    sp_help:用于显示参数清单和其数据类型. sp_depends:用于显示存储过程依据的对象或者依据存储过程的对象. sp_helptext:用于显示存储过程的定义文本

  3. 洛谷 P1073 最优贸易 & [NOIP2009提高组](反向最短路)

    传送门 解题思路 很长的题,实际上在一个有向图(点有点权)中求一个从起点1到终点n的路径,使得这条路径上点权最大的点与点权最小的点的差值最大(要求必须从点权较小的点能够走到点权较大的点). ——最短路 ...

  4. regularexpressionvalidator验证控件使用实例

    一:电话号码验证: 格式如:0755-24256888:带分机格式:0755-24256888-282:手机:11位数字 (^(\d{3,4}-)?\d{6,8}$)|(^(\d{3,4}-)?\d{ ...

  5. 用URLGather来管理和保存你的页面

    下载链接:http://url-gather.software.informer.com/download/#downloading 安装的过程简单,这里不一一叙述. 安装成功后,找到软件安装的路径, ...

  6. 使用Tabulator遇到的问题

    1.Tabulator好像是不支持ie,按照Tabulator文档引入,打开浏览器总是报缺少文件,换了谷歌果然好了. 2.编辑某一行的数据 代码: //Build Tabulator var tabl ...

  7. TensorFlow学习笔记1:graph、session和op

    graph即tf.Graph(),session即tf.Session(),很多人经常将两者混淆,其实二者完全不是同一个东西. graph定义了计算方式,是一些加减乘除等运算的组合,类似于一个函数.它 ...

  8. Lamabda Where Select Find First等区别

    using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Cons ...

  9. Codeforces 1215E 状压DP

    题意:给你一个序列,你可以交换序列中的相邻的两个元素,问最少需要交换多少次可以让这个序列变成若干个极大的颜色相同的子段. 思路:由于题目中的颜色种类很少,考虑状压DP.设dp[mask]为把mask为 ...

  10. php session之多级目录存储

    当选择以文件形式保存session到服务器时,需要制定保存路径.用到php.ini中的session.save_path,其有三种配置写法: session.save_path = "N;/ ...