コード例 #1
0
def deleteproject():
    '''
    删除项目,项目下面的所有关联的内容都会被删除
    {"pid":1}
    '''
    dictdata = request.get_json()
    # 查询产品id
    pid = dictdata["pid"]

    # 查询项目id询 模块id 用例id
    sql = "SELECT\
                a.id AS moduleid,\
                b.id AS testcaseid \
            FROM\
                t_modules AS a\
                LEFT JOIN t_testcass AS b ON b.moduleid = a.id \
            WHERE\
                a.projectid = %s" % pid

    # 级联删除 case -> module -> project
    for ids in dbfucs.query(sql):
        delete_modelus_sql = "delete from t_modules where id = %d" % ids.get("moduleid")
        delete_testcase_sql = "delete from t_testcass where id = %d" % ids.get("testcaseid")
        dbfucs.excute(delete_testcase_sql)
        dbfucs.excute(delete_modelus_sql)

    sql = "DELETE FROM `t_project` WHERE (`id`='%s')" % pid
    res = dbfucs.excute(sql)
    response = {}
    response["code"] = 200
    response["data"] = res
    response["msg"] = "删除成功!!!"
    return jsonify(response)
コード例 #2
0
def updataproduct():
    '''
    更新产品信息
    {
        "pid":2,
        "product":"产品名称",
        "explain":"描述",
        "leader":"责任人",
        "remark":"备注"
    }
    '''
    dictdata = request.get_json()
    pid = dictdata["pid"]
    product = dictdata["product"]
    explain = dictdata["explain"]
    leader = dictdata["leader"]
    remark = dictdata["remark"]
    sql = "UPDATE `t_product`\
        SET `product` = '%s',\
        `explain` = '%s',\
        `leader` = '%s',\
        `remark` = '%s'\
        WHERE (`id` = '%s')" % (product, explain, leader, remark, pid)
    res = dbfucs.excute(sql)
    response = {}
    response["code"] = 200
    response["data"] = res
    response["msg"] = "更新成功!!!"
    return jsonify(response)
コード例 #3
0
def addmodule():
    '''
    新增模块
    {
        "projectid":"所属产品id",
        "module":"项目名称",
        "explain":"描述",
        "leader":"责任人",
        "remark":"备注"
    }
    '''
    dictdata = request.get_json()
    projectid = dictdata["projectid"]
    module = dictdata["module"]
    explain = dictdata["explain"]
    leader = dictdata["leader"]
    remark = dictdata["remark"]
    sql = "insert into t_modules values(null,'%s','%s','%s','%s','%s',null,null);" % (
        projectid, module, explain, leader, remark)
    res = dbfucs.excute(sql)
    response = {}
    response["code"] = 200
    response["data"] = res
    response["msg"] = "新增成功!!!"
    return jsonify(response)
コード例 #4
0
ファイル: products.py プロジェクト: kevin-2015/Nahsor
def addproduct():
    '''
    新增产品
    {
        "product":"Nahsor自动化测试平台",
        "explain":"一个接口自动化测试平台,功能强大,很厉害就是了。",
        "leader":"浪晋",
        "remark":"这是例子"
    }
    '''
    dictdata = request.get_json()
    product = dictdata["product"]
    explain = dictdata["explain"]
    leader = dictdata["leader"]
    remark = dictdata["remark"]
    now = common.get_current_time()
    sql = "insert into t_product " \
          "values(null,'%s','%s','%s','%s','%s',null);" \
          % (product,explain,leader,remark, now)
    print(sql)
    res = dbfucs.excute(sql)
    response = {}
    response["code"] = 200
    response["data"] = res
    response["msg"] = "新增成功!!!"
    return jsonify(response)
コード例 #5
0
ファイル: projects.py プロジェクト: fengzhou/Nahsor
def addproject():
    '''
    新增项目
    {
        "productid":"5",
        "project":"Nahsor自动化测试平台WEB端",
        "explain":"功能强大,厉害的不行",
        "leader":"浪晋",
        "remark":"没有备注"
    }
    '''
    dictdata = request.get_json()
    productid = dictdata["productid"]
    project = dictdata["project"]
    explain = dictdata["explain"]
    leader = dictdata["leader"]
    remark = dictdata["remark"]
    sql = "insert into t_project values(null,'%s','%s','%s','%s','%s',null,null);" % (
        productid, project, explain, leader, remark)
    res = dbfucs.excute(sql)
    response = {}
    response["code"] = 200
    response["data"] = res
    response["msg"] = "新增成功!!!"
    return jsonify(response)
コード例 #6
0
ファイル: modules.py プロジェクト: kevin-2015/Nahsor
def deletemodule():
    '''
    删除模块
    {"pid":1}
    '''
    dictdata = request.get_json()
    pid = dictdata["pid"]
    delete_testcase_sql = "delete from t_testcass where moduleid=%s" % pid
    delete_modules_sql = "DELETE FROM `t_modules` WHERE (`id`='%s')" % pid

    response = {}
    response["code"] = 200
    response["data"] = dbfucs.excute(delete_testcase_sql) and dbfucs.excute(
        delete_modules_sql)
    response["msg"] = "删除成功!!!"
    return jsonify(response)
コード例 #7
0
ファイル: modules.py プロジェクト: kevin-2015/Nahsor
def updatamodule():
    '''
    更新模块信息
    {
    	"pid":4,
        "projectid":2,
        "module":"模块名称",
        "explain":"描述",
        "leader":"责任人",
        "remark":"备注"
    }
    '''
    dictdata = request.get_json()
    pid = dictdata["pid"]
    projectid = dictdata["projectid"]
    module = dictdata["module"]
    explain = dictdata["explain"]
    leader = dictdata["leader"]
    remark = dictdata["remark"]
    sql = "UPDATE `t_modules`\
        SET `projectid` = '%s',\
        `modules` = '%s',\
        `explain` = '%s',\
        `leader` = '%s',\
        `remark` = '%s', \
        `updatatime` = '%s'\
        WHERE (`id` = '%s')" % (projectid, module, explain, leader, remark,
                                common.get_current_time(), pid)
    res = dbfucs.excute(sql)
    response = {}
    response["code"] = 200
    response["data"] = res
    response["msg"] = "更新成功!!!"
    return jsonify(response)
コード例 #8
0
def insert_test_result(cassid,status,runtime="",result="",validate=""):
    '''
    将测试结果存入到数据库
    '''
    sql = "INSERT INTO `t_reports` (`cassid`, `status`, `runtime`, `result`, `validate`) VALUES ('%s', '%s', '%s', '%s', '%s')" % (cassid,status,runtime,result,validate)
    dbres = excute(sql)
    if dbres != True:
        Logger.error("保存测试结果到数据库出错,错误信息 --> %s" % dbres)
コード例 #9
0
def deleteproduct():
    '''
    删除产品,产品下面的所有关联的内容都会被删除(还没完成)
    {"pid":1}
    '''
    dictdata = request.get_json()
    pid = dictdata["pid"]
    sql = "DELETE FROM `t_product` WHERE (`id`='%s')" % pid
    res = dbfucs.excute(sql)
    response = {}
    response["code"] = 200
    response["data"] = res
    response["msg"] = "删除成功!!!"
    return jsonify(response)
コード例 #10
0
def deletecass():
    '''
    删除testcass
    {"pid":1}
    '''
    dictdata = request.get_json()
    pid = dictdata["pid"]
    sql = "DELETE FROM `t_testcass` WHERE (`id`='%s')" % pid
    res = dbfucs.excute(sql)
    response = {}
    response["code"] = 200
    response["data"] = res
    response["msg"] = "删除成功!!!"
    return jsonify(response)
コード例 #11
0
def insert_test_result(cassid,
                       status="成功",
                       runtime="",
                       result="",
                       validate="",
                       version=-1):
    '''
    将测试结果存入到数据库
    '''
    from app.utils.common import get_current_time
    sql = "INSERT INTO `t_reports` " \
          "(`cassid`, `status`, `runtime`, `result`, `validate`, `createtime`, `version`) " \
          "VALUES ('%s', '%s', '%s', '%s', '%s', '%s', %d)" % (cassid,status,runtime,result,validate, get_current_time(), version)
    dbres = excute(sql)
    if dbres != True:
        Logger.error("保存测试结果到数据库出错,错误信息 --> %s" % dbres)
コード例 #12
0
def updatacass():
    '''
    更新用例信息
    {
        "pid":2,
        "moduleid":1,
        "testname":"测试用例名称",
        "testtype":"testcass",
        "explain":"用例描述",
        "request":{},
        "validate":[],
        "extract":[],
        "leader":"LangJin",
        "remark":"备注信息"
    }
    '''
    dictdata = request.get_json()
    pid = dictdata["pid"]
    moduleid = dictdata["moduleid"]
    testname = dictdata["testname"]
    testtype = dictdata["testtype"]
    explain = dictdata["explain"]
    requests = dict_to_dbjson(dictdata["request"])
    validate = dict_to_dbjson(dictdata["validate"])
    extract = dict_to_dbjson(dictdata["extract"])
    leader = dictdata["leader"]
    remark = dictdata["remark"]
    sql = "UPDATE `t_testcass`\
        SET `moduleid` = '%s',\
        `testname` = '%s',\
        `testtype` = '%s',\
        `explain` = '%s',\
        `request` = '%s',\
        `validate` = '%s',\
        `extract` = '%s',\
        `leader` = '%s',\
        `remark` = '%s'\
        WHERE (`id` = '%s')" % (moduleid, testname, testtype, explain,
                                requests, validate, extract, leader, remark,
                                pid)
    res = dbfucs.excute(sql)
    response = {}
    response["code"] = 200
    response["data"] = res
    response["msg"] = "更新成功!!!"
    return jsonify(response)
コード例 #13
0
ファイル: testcass.py プロジェクト: kevin-2015/Nahsor
def addtcass():
    '''
    新增用例
    {
        "moduleid":1,
        "testname":"测试用例名称",
        "testtype":"testcass",
        "explain":"用例描述",
        "request":{},
        "validate":[],
        "extract":[],
        "leader":"LangJin",
        "remark":"备注信息"
    }
    '''
    dictdata = request.get_json()
    moduleid = dictdata["moduleid"]
    testname = dictdata["testname"]
    testtype = dictdata["testtype"]
    explain = dictdata["explain"]
    requests = dict_to_dbjson(dictdata["request"])
    validate = dict_to_dbjson(dictdata["validate"])
    extract = dict_to_dbjson(dictdata["extract"])
    leader = dictdata["leader"]
    remark = dictdata["remark"]
    sql = "insert into t_testcass \
    (`moduleid`, `testname`, `testtype`, `explain`, \
    `request`, `validate`, `extract`, `leader`, `remark`) \
    values('%s','%s','%s','%s','%s','%s','%s','%s','%s');\
    " % (moduleid, testname, testtype, explain, requests, validate, extract,
         leader, remark)
    response = {}
    data = dbfucs.excute(sql)
    if data is True:
        response["code"] = 200
        response["data"] = data
        response["msg"] = "添加成功!"
    else:
        response["code"] = 500
        response["data"] = data
        response["msg"] = "添加失败!"
    return jsonify(response)
コード例 #14
0
def uploadtestcase():
    file = request.files['file']
    filetype = file.filename.split(".")[1]
    if filetype != "har":
        filetype = "postman"

    # 上传并解析
    if _upload_files(file):
        testcases = validate_req_by_file(file_path=os.path.join(
            "./app/uploads/", file.filename),
                                         type=filetype)

        # 需要对应的postman和har的请求中包含以下字段
        failed, success = 0, 0
        for case in testcases:
            moduleid = case.get("moduleid")
            testname = case.get("testname")
            testtype = case.get("testtype")
            explain = case.get("explain")
            requests = case.get("request")
            validate = case.get("validate")
            extract = case.get("extract")
            leader = case.get("leader")
            remark = case.get("remark")

            # 插入sql数据
            sql = "insert into t_testcass \
            (`moduleid`, `testname`, `testtype`, `explain`, \
            `request`, `validate`, `extract`, `leader`, `remark`, `createtime`) \
            values('%s','%s','%s','%s','%s','%s','%s','%s','%s','%s');\
            " % (moduleid, testname, testtype, explain, requests, validate,
                 extract, leader, remark, get_current_time())
            if excute(sql):
                success += 1
            else:
                failed += 1

        res = {"code": 200, "msg": "执行成功,成功导入%s个,失败%s个" % (success, failed)}
        return jsonify(res)
    else:
        return jsonify({"code": -100, "msg": "上传失败"})