Exemple #1
0
 def get_base_url(self, index):
     """
     获取对应index下的base_url
     """
     sheet_name = handle_excel.get_sheet_names()[index]
     base_url = handle_ini.get_value(sheet_name, "BaseUrl")
     return base_url
Exemple #2
0
def depend_data(data):
    """
    获取到所依赖数据集合,返回case_num对应接口返回的数据
    """
    case_num = split_data(data)[0]
    row = handle_excel.getRowsNumber(case_num)
    col_res = int(handle_ini.get_value("response"))
    return handle_excel.getCellValue(row, col_res)
Exemple #3
0
def write_token(data):
    """
    将获取到的token,写入到header.ini文件中
    """
    index = int(handle_ini.get_value(
        "index", "SheetIndex"))  # 获取到文件路径下的"SheetIndex"section下的"index"的value
    sheet_name = handle_excel.get_sheet_names()[index]  # 获取到正在执行sheetname
    return handle_ini.set_value(
        sheet_name, "authorization", get_token(data), file_path
    )  #将获取到的token值,写入到file_path文件中的section为"sheetname"下的"authorization"
Exemple #4
0
def updata_header(header=None):
    """
    更新header,将传入的header加上登录模块生成的token
    """
    index = int(handle_ini.get_value(
        "index", "SheetIndex"))  # 获取到文件路径下的"SheetIndex"section下的"index"的value
    sheet_name = handle_excel.get_sheet_names()[index]  # 获取到正在执行sheetname
    try:
        value = handle_ini.get_value(
            "authorization", sheet_name,
            file_path)  # 获取到该”sheetname“section下的"authorization"对应的值
        if header == None:
            header = {
                "authorization": value
            }  # 增加判断,如果excel表读取的header为None,即未填写,则创建header并将读取到"authorization"、value值增加到header中
        else:
            header[
                "authorization"] = value  # 增加判断,如果excel表读取的header为存在数据,则将读取到"authorization"、value值增加到header中
    except:
        header = None
    return header
Exemple #5
0
    def run_main(self, method, url, data, cookie=None, get_cookie=None):
        # return handle_json.get_value(url)
        base_url = handle_ini.get_value("host")
        if "http" not in url:
            url = base_url + url
        print(url)
        if method == "get":
            res = self.send_get(url, data, cookie, get_cookie)
        else:
            res = self.send_post(url, data, cookie, get_cookie)

        try:
            res = json.loads(res)
        except:
            print("结果是一个 text")
        return res
Exemple #6
0
    def test_main_case(self, request_data):
        """
        执行case的方法
        """
        case_num = request_data[int(handle_ini.get_value("case_num")) - 1]
        depend = request_data[int(handle_ini.get_value("depend")) - 1]
        method = request_data[int(handle_ini.get_value("method")) - 1]
        url = request_data[int(handle_ini.get_value("url")) - 1]
        re_data = request_data[int(handle_ini.get_value("data")) - 1]
        header = request_data[int(handle_ini.get_value("header")) - 1]
        is_run = request_data[int(handle_ini.get_value("is_run")) - 1]
        token_operate = request_data[int(handle_ini.get_value("token_operate"))
                                     - 1]
        expected_method = request_data[
            int(handle_ini.get_value("expected_method")) - 1]
        expected_result = str(
            request_data[int(handle_ini.get_value("expected_result")) - 1])
        col_result = int(handle_ini.get_value("result"))
        col_res = int(handle_ini.get_value("response"))
        i = handle_excel.getRowsNumber(case_num, index)
        if is_run == "yes" or is_run == "Yes":
            try:
                if depend != None:
                    if depend.find(",") == -1:
                        re_data = generated_data(depend, re_data)
                    else:
                        re_data = generated_datas(depend, re_data)
                if token_operate == "with_token":
                    if header == None:
                        header = updata_header()
                    else:
                        header = updata_header(header)
                    res = base_request.run_main(method, index, url, re_data,
                                                header)
                    print(res)
                    code = res["code"]
                    msg = res["msg"]
                    if expected_method == "code":
                        try:
                            self.assertEqual(code, expected_result)
                            handle_excel.writeData(i, col_result, "pass",
                                                   index)
                            handle_excel.writeData(i, col_res, json.dumps(res),
                                                   index)
                        except Exception as e:
                            handle_excel.writeData(i, col_result, "fail",
                                                   index)
                            handle_excel.writeData(i, col_res, json.dumps(res),
                                                   index)
                            raise e
                    if expected_method == "msg":
                        try:
                            self.assertEqual(msg, expected_result)
                            handle_excel.writeData(i, col_result, "pass",
                                                   index)
                            handle_excel.writeData(i, col_res, json.dumps(res),
                                                   index)
                        except Exception as e:
                            handle_excel.writeData(i, col_result, "fail",
                                                   index)
                            handle_excel.writeData(i, col_res, json.dumps(res),
                                                   index)
                            raise e
                    if expected_method == "json":
                        expected_result = json.loads(expected_result)
                        result = handle_result_json(res, expected_result)
                        try:
                            self.assertTrue(result)
                            handle_excel.writeData(i, col_result, "pass",
                                                   index)
                            handle_excel.writeData(i, col_res, json.dumps(res),
                                                   index)
                        except Exception as e:
                            handle_excel.writeData(i, col_result, "fail",
                                                   index)
                            handle_excel.writeData(i, col_res, json.dumps(res),
                                                   index)
                            raise e

                elif token_operate == "write_token":
                    header = eval(header)
                    res = base_request.run_main(method, index, url, re_data,
                                                header)
                    code = res["code"]
                    msg = res["msg"]
                    if expected_method == "code":
                        try:
                            self.assertEqual(code, expected_result)
                            write_token(res)
                            handle_excel.writeData(i, col_result, "pass",
                                                   index)
                            handle_excel.writeData(i, col_res, json.dumps(res),
                                                   index)
                        except Exception as e:
                            handle_excel.writeData(i, col_result, "fail",
                                                   index)
                            handle_excel.writeData(i, col_res, json.dumps(res),
                                                   index)
                            raise e
                    if expected_method == "msg":
                        try:
                            self.assertEqual(msg, expected_result)
                            write_token(res)
                            handle_excel.writeData(i, col_result, "pass",
                                                   index)
                            handle_excel.writeData(i, col_res, json.dumps(res),
                                                   index)
                        except Exception as e:
                            handle_excel.writeData(i, col_result, "fail",
                                                   index)
                            handle_excel.writeData(i, col_res, json.dumps(res),
                                                   index)
                            raise e
                    if expected_method == "json":
                        expected_result = json.loads(expected_result)
                        result = handle_result_json(res, expected_result)
                        try:
                            self.assertTrue(result)
                            write_token(res)
                            handle_excel.writeData(i, col_result, "pass",
                                                   index)
                            handle_excel.writeData(i, col_res, json.dumps(res),
                                                   index)
                        except Exception as e:
                            handle_excel.writeData(i, col_result, "fail",
                                                   index)
                            handle_excel.writeData(i, col_res, json.dumps(res),
                                                   index)
                            raise e
                else:
                    header = eval(header)
                    res = base_request.run_main(method, index, url, re_data,
                                                header)
                    print(res)
                    code = res["code"]
                    msg = res["msg"]
                    if expected_method == "code":
                        try:
                            self.assertEqual(code, expected_result)
                            handle_excel.writeData(i, col_result, "pass",
                                                   index)
                            handle_excel.writeData(i, col_res, json.dumps(res),
                                                   index)
                        except Exception as e:
                            handle_excel.writeData(i, col_result, "fail",
                                                   index)
                            handle_excel.writeData(i, col_res, json.dumps(res),
                                                   index)
                            raise e
                    if expected_method == "msg":
                        try:
                            self.assertEqual(msg, expected_result)
                            handle_excel.writeData(i, col_result, "pass",
                                                   index)
                            handle_excel.writeData(i, col_res, json.dumps(res),
                                                   index)
                        except Exception as e:
                            handle_excel.writeData(i, col_result, "fail",
                                                   index)
                            handle_excel.writeData(i, col_res, json.dumps(res),
                                                   index)
                            raise e
                    if expected_method == "json":
                        expected_result = json.loads(expected_result)
                        result = handle_result_json(res, expected_result)
                        try:
                            self.assertTrue(result)
                            handle_excel.writeData(i, col_result, "pass",
                                                   index)
                            handle_excel.writeData(i, col_res, json.dumps(res),
                                                   index)
                        except Exception as e:
                            handle_excel.writeData(i, col_result, "fail",
                                                   index)
                            handle_excel.writeData(i, col_res, json.dumps(res),
                                                   index)
                            raise e
            except Exception as e:
                handle_excel.writeData(i, col_result, "fail", index)
                raise e
Exemple #7
0
import json
import ddt
import unittest
import os
from base.base_request import base_request
from util.handle_excel import handle_excel
from util.handle_ini import handle_ini
from util.condition_data import generated_data
from util.condition_data import generated_datas
from util.handle_header import write_token
from util.handle_header import updata_header
from BeautifulReport import BeautifulReport
import datetime
from util.handle_result_json import handle_result_json

index = int(handle_ini.get_value("index", "SheetIndex"))
request_data = []
for n in handle_excel.getExcelData(index):
    n[-1] = None
    n[-2] = None
    request_data.append(n)
print(request_data)


@ddt.ddt
class TestRunCaseDdt(unittest.TestCase):
    """
    执行case的类
    """
    @ddt.data(*request_data)
    def test_main_case(self, request_data):
Exemple #8
0
 def run_case(self):
     """
     执行case的方法
     """
     index = int(handle_ini.get_value("index","SheetIndex"))
     rows=handle_excel.getRows(index)
     col_result = int(handle_ini.get_value("result"))
     col_res = int(handle_ini.get_value("response"))
     for i in range(rows-1): # 由于读取到sheet的数据行为rows,存在1行标题行,故有效数据循环遍历的次数为row-1
         handle_excel.writeData(i+2,col_result,"",index)# 初始化,将上次执行结果删除
         handle_excel.writeData(i+2,col_res,"",index)
         data=handle_excel.getRowValue(i+2,index) # 第一条有效数据实际行数为2,i取值是从0开始的,故使用i+2
         print(data)
         depend=data[int(handle_ini.get_value("depend"))-1]
         method=data[int(handle_ini.get_value("method"))-1]
         url=data[int(handle_ini.get_value("url"))-1]
         re_data=data[int(handle_ini.get_value("data"))-1]
         header=data[int(handle_ini.get_value("header"))-1]
         is_run=data[int(handle_ini.get_value("is_run"))-1]
         token_operate=data[int(handle_ini.get_value("token_operate"))-1]
         expected_method=data[int(handle_ini.get_value("expected_method"))-1]
         expected_result=str(data[int(handle_ini.get_value("expected_result"))-1])
         if is_run=="yes" or is_run=="Yes":
             if depend!=None:
                 if depend.find(",")==-1:
                     re_data=generated_data(depend,re_data)
                 else:
                     re_data=generated_datas(depend,re_data)
             if token_operate == "with_token":
                 if header == None:
                     header = updata_header()
                 else:
                     header = updata_header(header)
                 res=base_request.run_main(method,index,url,re_data,header)
                 print(res)
                 code = res["code"]
                 msg = res["msg"]
                 if expected_method == "code":
                     if code == expected_result:
                         print("预期结果校验方式的结果与实际结果一致,该用例测试通过")
                         handle_excel.writeData(i+2,col_result,"pass",index)
                         handle_excel.writeData(i+2,col_res,json.dumps(res),index)
                     else:
                         print("预期结果校验方式的结果与实际结果不一致,该用例执行失败")
                         handle_excel.writeData(i+2,col_result,"fail",index)
                         handle_excel.writeData(i+2,col_res,json.dumps(res),index)
                 if expected_method == "msg":
                     if msg == expected_result:
                         print("预期结果校验方式的结果与实际结果一致,该用例测试通过")
                         handle_excel.writeData(i+2,col_result,"pass",index)
                         handle_excel.writeData(i+2,col_res,json.dumps(res),index)
                     else:
                         print("预期结果校验方式的结果与实际结果不一致,该用例执行失败")
                         handle_excel.writeData(i+2,col_result,"fail",index)
                         handle_excel.writeData(i+2,col_res,json.dumps(res),index)
                 if expected_method == "json":
                     expected_result = json.loads(expected_result)
                     result=handle_result_json(res,expected_result)
                     if result:
                         print("预期结果校验方式的结果与实际结果一致,该用例测试通过")
                         handle_excel.writeData(i + 2, col_result, "pass", index)
                         handle_excel.writeData(i + 2, col_res, json.dumps(res), index)
                     else:
                         print("预期结果校验方式的结果与实际结果不一致,该用例执行失败")
                         handle_excel.writeData(i + 2, col_result, "fail", index)
                         handle_excel.writeData(i + 2, col_res, json.dumps(res), index)
             elif token_operate=="write_token":
                 header=eval(header)
                 res = base_request.run_main(method,index,url,re_data,header)
                 print(res)
                 code = res["code"]
                 msg = res["msg"]
                 if expected_method == "code":
                     if code == expected_result:
                         print("预期结果校验方式的结果与实际结果一致,该用例测试通过")
                         write_token(res)
                         handle_excel.writeData(i+2,col_result,"pass",index)
                         handle_excel.writeData(i+2,col_res,json.dumps(res),index)
                     else:
                         print("预期结果校验方式的结果与实际结果不一致,该用例执行失败")
                         handle_excel.writeData(i+2,col_result,"fail",index)
                         handle_excel.writeData(i+2,col_res,json.dumps(res),index)
                 if expected_method == "msg":
                     if msg == expected_result:
                         print("预期结果校验方式的结果与实际结果一致,该用例测试通过")
                         write_token(res)
                         handle_excel.writeData(i+2,col_result,"pass",index)
                         handle_excel.writeData(i+2,col_res,json.dumps(res),index)
                     else:
                         print("预期结果校验方式的结果与实际结果不一致,该用例执行失败")
                         handle_excel.writeData(i+2,col_result,"fail",index)
                         handle_excel.writeData(i+2,col_res,json.dumps(res),index)
                 if expected_method == "json":
                     expected_result = json.loads(expected_result)
                     result=handle_result_json(res,expected_result)
                     if result:
                         print("预期结果校验方式的结果与实际结果一致,该用例测试通过")
                         handle_excel.writeData(i + 2, col_result, "pass", index)
                         handle_excel.writeData(i + 2, col_res, json.dumps(res), index)
                     else:
                         print("预期结果校验方式的结果与实际结果不一致,该用例执行失败")
                         handle_excel.writeData(i + 2, col_result, "fail", index)
                         handle_excel.writeData(i + 2, col_res, json.dumps(res), index)
             else:
                 header = eval(header)
                 res = base_request.run_main(method,index,url,re_data,header)
                 code = res["code"]
                 msg = res["msg"]
                 if expected_method=="code":
                     if code==expected_result:
                         print("预期结果校验方式的结果与实际结果一致,该用例测试通过")
                         handle_excel.writeData(i+2,col_result,"pass",index)
                         handle_excel.writeData(i+2,col_res,json.dumps(res),index)
                     else:
                         print("预期结果校验方式的结果与实际结果不一致,该用例执行失败")
                         handle_excel.writeData(i+2,col_result,"fail",index)
                         handle_excel.writeData(i+2,col_res,json.dumps(res),index)
                 if expected_method=="msg":
                     if msg==expected_result:
                         print("预期结果校验方式的结果与实际结果一致,该用例测试通过")
                         handle_excel.writeData(i+2,col_result,"pass",index)
                         handle_excel.writeData(i+2,col_res,json.dumps(res),index)
                     else:
                         print("预期结果校验方式的结果与实际结果不一致,该用例执行失败")
                         handle_excel.writeData(i+2,col_result,"fail",index)
                         handle_excel.writeData(i+2,col_res,json.dumps(res),index)
                 if expected_method == "json":
                     expected_result = json.loads(expected_result)
                     result=handle_result_json(res,expected_result)
                     if result:
                         print("预期结果校验方式的结果与实际结果一致,该用例测试通过")
                         handle_excel.writeData(i + 2, col_result, "pass", index)
                         handle_excel.writeData(i + 2, col_res, json.dumps(res), index)
                     else:
                         print("预期结果校验方式的结果与实际结果不一致,该用例执行失败")
                         handle_excel.writeData(i + 2, col_result, "fail", index)
                         handle_excel.writeData(i + 2, col_res, json.dumps(res), index)