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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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": "上传失败"})