コード例 #1
0
ファイル: handle_data.py プロジェクト: fls530/Api_test
class HandleSetup:
    @staticmethod
    def handle_setup(phone, pwd):
        url = conf.get("env", "url") + "/member/login"
        data = {"mobile_phone": phone, "pwd": pwd}
        headers = eval(conf.get("env", "headers"))
        response = request(method="post", url=url, json=data, headers=headers)
        res = response.json()
        member_id = str(jsonpath.jsonpath(res, "$..id")[0])
        token = "Bearer" + " " + jsonpath.jsonpath(res, "$..token")[0]
        return member_id, token

    @staticmethod
    def handle_case(case, member_id, token):
        url = conf.get("env", "url") + case["url"]
        method = case["method"]
        # 替换参数中的ID
        data = eval(HandleSetup.replace_data(case["data"], member_id))
        # 准备请求头
        headers = eval(conf.get("env", "headers"))
        headers["Authorization"] = token
        # 发送请求获取实际结果
        response = request(url=url, method=method, json=data, headers=headers)
        res = response.json()
        return data, res
コード例 #2
0
 def test_add(self, case):
     # 准备用例数据
     phone = conf.get("test_data", "phone")
     pwd = conf.get("test_data", "pwd")
     member_id, token = HandleSetup.handle_setup(phone, pwd)
     start_count = TestAdd.handle_sql(self, case, member_id)
     data, res = HandleSetup.handle_case(case, member_id, token)
     row = case["case_id"] + 1
     expected = eval(case["expected"])
     # 断言,比对预期结果和实际结果
     try:
         if start_count != 0:
             self.assertEqual(expected["code"], res["code"])
             self.assertEqual(expected["msg"], res["msg"])
             end_count = TestAdd.handle_sql(self, case, member_id)
             self.assertEqual(1, end_count - start_count)
     except AssertionError as e:
         log.error("用例--{}--执行未通过".format(case["title"]))
         log.debug("预期结果:{}".format(expected))
         log.debug("实际结果:{}".format(res))
         log.exception(e)
         self.excel.write_data(row=row, column=8, value="未通过")
         raise e
     else:
         # 结果回写excel中
         log.info("用例--{}--执行通过".format(case["title"]))
         self.excel.write_data(row=row, column=8, value="通过")
コード例 #3
0
ファイル: chang.py プロジェクト: wulucheng/JDX_test
def __handle_url(short_url: str):
    #把url拼接成一个完整的url
    if short_url.startswith("/"):
        new_url = conf.get("url", "base_url") + short_url
    else:
        new_url = conf.get("url", "base_url") + "/" + short_url
    return new_url
コード例 #4
0
ファイル: handle_logging.py プロジェクト: fls530/Api_test
    def create_logger():
        """
        创建日志收集器
        :return: 日志收集器
        """
        # 第一步:创建一个日志收集器
        log = logging.getLogger("musen")

        # 第二步:设置收集器收集的等级
        log.setLevel(conf.get("log", "level"))

        # 第三步:设置输出渠道以及输出渠道的等级
        fh = logging.FileHandler(log_filepath, encoding="utf8")
        fh.setLevel(conf.get("log", "fh_level"))
        log.addHandler(fh)

        sh = logging.StreamHandler()
        sh.setLevel(conf.get("log", "sh_level"))
        log.addHandler(sh)
        # 创建一个输出格式对象
        formats = '%(asctime)s -- [%(filename)s-->line:%(lineno)d] - %(levelname)s: %(message)s'
        form = logging.Formatter(formats)
        # 将输出格式添加到输出渠道
        fh.setFormatter(form)
        sh.setFormatter(form)

        return log
コード例 #5
0
 def test_withdraw(self, case):
     # 第一步准备用例参数
     phone = conf.get("test_data", "phone")
     pwd = conf.get("test_data", "pwd")
     member_id, token = HandleSetup.handle_setup(phone, pwd)
     # 判断该用例是否需要数据库校验,获取提现之前的余额
     start_money = TestWithdraw.handle_sql(self, case, member_id)
     data, res = HandleSetup.handle_case(case, member_id, token)
     row = case["case_id"] + 1
     expected = eval(case["expected"])
     # 第三步:断言预期结果和实际结果
     try:
         if start_money != 0:
             self.assertEqual(expected["code"], res["code"])
             self.assertEqual(expected["msg"], res["msg"])
             end_money = TestWithdraw.handle_sql(self, case, member_id)
             withdraw_money = decimal.Decimal(str(data["amount"]))
             self.assertEqual(withdraw_money, start_money - end_money)
     except AssertionError as e:
         # 结果回写excel中
         log.error("用例--{}--执行未通过".format(case["title"]))
         log.debug("预期结果:{}".format(expected))
         log.debug("实际结果:{}".format(res))
         log.exception(e)
         self.excel.write_data(row=row, column=8, value="未通过")
         raise e
     else:
         # 结果回写excel中
         log.info("用例--{}--执行通过".format(case["title"]))
         self.excel.write_data(row=row, column=8, value="通过")
コード例 #6
0
ファイル: test_info.py プロジェクト: fls530/Api_test
 def test_add(self, case):
     # 准备用例数据
     phone = conf.get("test_data", "phone")
     pwd = conf.get("test_data", "pwd")
     member_id, token = HandleSetup.handle_setup(phone, pwd)
     case["url"] = case["url"].replace("#member_id#", member_id)
     url = conf.get("env", "url") + case["url"]
     method = case["method"]
     headers = {"X-Lemonban-Media-Type": "lemonban.v1"}
     response = request(url=url, method=method, json=data, headers=headers)
     res = response.json()
     row = case["case_id"] + 1
     expected = eval(case["expected"])
     try:
         self.assertEqual(expected["code"], res["code"])
         self.assertEqual(expected["msg"], res["msg"])
     except AssertionError as e:
         # 结果回写excel中
         log.error("用例--{}--执行未通过".format(case["title"]))
         log.debug("预期结果:{}".format(expected))
         log.debug("实际结果:{}".format(res))
         log.exception(e)
         self.excel.write_data(row=row, column=8, value="未通过")
         raise e
     else:
         # 结果回写excel中
         log.info("用例--{}--执行通过".format(case["title"]))
         self.excel.write_data(row=row, column=8, value="通过")
コード例 #7
0
ファイル: handle_data.py プロジェクト: fls530/Api_test
 def handle_setup(phone, pwd):
     url = conf.get("env", "url") + "/member/login"
     data = {"mobile_phone": phone, "pwd": pwd}
     headers = eval(conf.get("env", "headers"))
     response = request(method="post", url=url, json=data, headers=headers)
     res = response.json()
     member_id = str(jsonpath.jsonpath(res, "$..id")[0])
     token = "Bearer" + " " + jsonpath.jsonpath(res, "$..token")[0]
     return member_id, token
コード例 #8
0
 def __init__(self):
     """初始化方法中,连接到数据库"""
     self.con = pymysql.connect(host=conf.get("mysql", "host"),
                                port=conf.getint("mysql", "port"),
                                user=conf.get("mysql", "user"),
                                password=conf.get("mysql", "password"),
                                charset="utf8",
                                cursorclass=pymysql.cursors.DictCursor)
     # 创建一个游标对象
     self.cur = self.con.cursor()
コード例 #9
0
ファイル: handle_send_email.py プロジェクト: fls530/Api_test
    def sendEmail():
        # 1.连接smtp服务器,并登陆
        smtp = smtplib.SMTP_SSL(conf.get("EMAIL", "host"),
                                conf.get("EMAIL", "port"))
        smtp.login(conf.get("EMAIL", "user"), conf.get("EMAIL", "password"))

        # 2.构造一封多组件邮件
        msg = MIMEMultipart()
        msg["Subject"] = conf.get("EMAIL", "subject")
        msg["To"] = conf.get("EMAIL", "To")
        msg["From"] = conf.get("EMAIL", "From")

        # 构造邮件的文本内容
        text = MIMEText("邮件中的文本内容", _charset="utf8")
        msg.attach(text)
        # 构造邮件的附件
        with open(os.path.join(REPORT_DIR, "report.html"), "rb") as f:
            content = f.read()
        report = MIMEApplication(content, _subtype='octet-stream')
        report.add_header('content-disposition',
                          'attachment',
                          filename='自动化测试报告.html')
        msg.attach(report)

        # 3.发送邮件
        smtp.send_message(msg,
                          from_addr=conf.get("EMAIL", "from_addr"),
                          to_addrs=conf.get("EMAIL", "to_addrs"))
コード例 #10
0
ファイル: handle_data.py プロジェクト: fls530/interfacetest
def login():
    """用例的前置条件:登录"""
    EnvData.name = random_proname()
    url = conf.get("env", "url") + "/user/login/"
    data = {
        "username": conf.get("test_data", "username"),
        "password": conf.get("test_data", "password")
    }
    res = (request(method="post", url=url, json=data)).json()
    token = "JWT" + " " + jsonpath.jsonpath(res, "$..token")[0]
    # 将提取出来的token作为EnvData的类属性(环境变量)
    setattr(EnvData, "token", token)
コード例 #11
0
 def __init__(self):
     # 连接数据库,创建游标。
     # 1、建立连接
     self.conn = pymysql.connect(host=conf.get("mysql", "host"),
                                 port=conf.getint("mysql", "port"),
                                 user=conf.get("mysql", "user"),
                                 password=conf.get("mysql", "password"),
                                 database=conf.get("mysql", "database"),
                                 charset="utf8",
                                 cursorclass=pymysql.cursors.DictCursor)
     # 2、创建游标
     self.cur = self.conn.cursor()
コード例 #12
0
def get_old_phone():
    """
    从配置文件获取指定的用户名和密码
    确保此帐号,在系统当中是注册了的。
    返回:用户名和密码。
    """
    from Common.handle_config import conf
    user = conf.get("general_user","user")
    passwd = conf.get("general_user","passwd")
    # 如果数据库查找到user,就直接返回。如果没有,则调用注册接口注册一个。
    # 不管注册与否,直接调用注册接口。
    send_requests("POST","member/register",{"mobile_phone":user,"pwd":passwd})
    return user,passwd
コード例 #13
0
ファイル: test_02login.py プロジェクト: fls530/Api_test
 def test_login(self, case):
     # 第一步:准备用例数据
     # 请求方法
     method = case["method"]
     # 请求地址
     url = case["url"]
     # 请求参数
     data = eval(case["data"])
     # 请求头
     headers = eval(conf.get("env", "headers"))
     # 预期结果
     expected = eval(case["expected"])
     # 用例所在行
     row = case["case_id"] + 1
     # 第二步:发送请求获取实际结果
     response = request(method=method, url=url, json=data, headers=headers)
     # 获取实际结果
     res = response.json()
     # 第三步:断言
     try:
         self.assertEqual(expected["code"], res["code"])
         self.assertEqual(expected["msg"], res["msg"])
     except AssertionError as e:
         # 结果回写excel中
         log.error("用例--{}--执行未通过".format(case["title"]))
         log.debug("预期结果:{}".format(expected))
         log.debug("实际结果:{}".format(res))
         log.exception(e)
         self.excel.write_data(row=row, column=8, value="未通过")
         raise e
     else:
         # 结果回写excel中
         log.info("用例--{}--执行通过".format(case["title"]))
         self.excel.write_data(row=row, column=8, value="通过")
コード例 #14
0
 def test_register(self, case):
     # 准备用例数据
     method = case["method"]
     url = conf.get("env", "url") + case["url"]
     if case["interface"] == "register":
         # 注册接口,则随机生成一个用户名和email
         EnvData.name = self.random_username()
         EnvData.email = self.random_email()
     data = eval(replace_data(case["data"]))
     expected = eval(replace_data(case["expected"]))
     row = case["case_id"] + 1
     # 第二步:发送请求获取实际结果
     res = (requests.request(method=method, url=url, json=data)).json()
     # 第三步:断言
     try:
         assert_dict(expected, res)
         # 判断是否需要进行sql校验
         if case["check_sql"]:
             sql = replace_data(case["check_sql"])
             res = db.find_count(sql)
             self.assertEqual(1, res)
     except AssertionError as e:
         # 结果回写excel中
         log.error("用例--{}--执行未通过".format(case["title"]))
         log.debug("预期结果:{}".format(expected))
         log.debug("实际结果:{}".format(res))
         log.exception(e)
         self.excel.write_data(row=row, column=8, value="未通过")
         raise e
     else:
         # 结果回写excel中
         log.info("用例--{}--执行通过".format(case["title"]))
         self.excel.write_data(row=row, column=8, value="通过")
コード例 #15
0
ファイル: handle_data.py プロジェクト: zhoumei-hub/ApiTest
def replace_by_regular(data):
    """
    将字符串当中,匹配#(.*?)#部分,替换换对应的真实数据。
    真实数据只从2个地方去获取:1个是配置文件当中的data区域 。另1个是,EvnData的类属性。
    data: 字符串
    return: 返回的是替换之后的字符串

    ps: 1个是配置文件当中的data区域 。另1个是,EvnData的类属性。必须都是字符串类型。
    """
    res = re.findall("#(.*?)#", data)  # 如果没有找到,返回的是空列表。
    # 标识符对应的值,来自于:1、环境变量  2、配置文件
    if res:
        for item in res:
            # 得到标识符对应的值。
            try:
                value = conf.get("data", item)
            except:
                try:
                    value = getattr(EnvData, item)
                except AttributeError:
                    # value = "#{}#".format(item)
                    continue
            print(value)
            # 再去替换原字符串
            data = data.replace("#{}#".format(item), value)
    return data
コード例 #16
0
    def test_interface(self, case):
        login()
        newproject()
        # 1.准备用例数据
        EnvData.name = random_intername()
        url = conf.get("env", "url") + case["url"]
        method = case["method"]
        data = eval(replace_data(case["data"]))
        expected = eval(replace_data(case["expected"]))
        headers = {"Authorization": getattr(EnvData, "token")}
        row = case["case_id"] + 1
        if case["check_sql"]:
            sql = replace_data(case["check_sql"])
            start_count = db.find_count(sql)
        res = (request(method=method, url=url, json=data, headers=headers)).json()
        # 第三步,断言预期结果和实际结果
        try:
            assert_dict(expected, res)

            if case["check_sql"]:
                sql = replace_data(case["check_sql"])
                end_count = db.find_count(sql)
                self.assertEqual(1, end_count - start_count)

        except AssertionError as e:
            log.error("用例--{}--执行未通过".format(case["title"]))
            log.debug("预期结果:{}".format(expected))
            log.debug("实际结果:{}".format(res))
            log.exception(e)
            self.excel.write_data(row=row, column=8, value="未通过")
            raise e
        else:
            # 结果回写excel中
            log.info("用例--{}--执行通过".format(case["title"]))
            self.excel.write_data(row=row, column=8, value="通过")
コード例 #17
0
def __pre_url(url):
    """
    拼接接口的url地址。
    """
    base_url = conf.get("server", "base_url")
    if url.startswith("/"):
        return base_url + url
    else:
        return base_url + "/" + url
コード例 #18
0
    def __init__(self,file=None):
        # 设置输出级别、输出渠道、输出日志格式
        # super().__init__(name,level)
        super().__init__(conf.get("log","name"),conf.get("log","level"))

        # 日志格式
        fmt = '%(asctime)s %(name)s %(levelname)s %(filename)s-%(lineno)d line:%(message)s'
        formatter = logging.Formatter(fmt)

        # 控制台渠道
        handle1 = logging.StreamHandler()
        handle1.setFormatter(formatter)
        self.addHandler(handle1)

        if file:
            # 文件渠道
            handle2 = logging.FileHandler(file,encoding="utf-8")
            handle2.setFormatter(formatter)
            self.addHandler(handle2)
コード例 #19
0
ファイル: test_01register.py プロジェクト: fls530/Api_test
 def test_register(self, case):
     # 第一步:准备用例数据
     # 请求方法
     method = case["method"]
     # 请求地址
     url = conf.get("env", "url") + "/member/register"
     # 判断是否有手机号需要替换
     if "#phone#" in case["data"]:
         # 随机生成一个手机号码
         phone = self.random_phone()
         # 将参数中的#phone#,替换成随机生成的手机号
         case["data"] = case["data"].replace("#phone#", phone)
     # 请求参数
     data = eval(case["data"])
     # 请求头
     headers = eval(conf.get("env", "headers"))
     # 预期结果
     expected = eval(case["expected"])
     # 用例所在行
     row = case["case_id"] + 1
     # 第二步:发送请求获取实际结果
     response = request(method=method, url=url, json=data, headers=headers)
     # 获取实际结果
     res = response.json()
     print("预期结果:", expected)
     print("实际结果:", res)
     # 第三步:断言
     try:
         self.assertEqual(expected["code"], res["code"])
         self.assertEqual(expected["msg"], res["msg"])
     except AssertionError as e:
         # 结果回写excel中
         log.error("用例--{}--执行未通过".format(case["title"]))
         log.debug("预期结果:{}".format(expected))
         log.debug("实际结果:{}".format(res))
         log.exception(e)
         self.excel.write_data(row=row, column=8, value="未通过")
         raise e
     else:
         # 结果回写excel中
         log.info("用例--{}--执行通过".format(case["title"]))
         self.excel.write_data(row=row, column=8, value="通过")
コード例 #20
0
ファイル: handle_data.py プロジェクト: fls530/interfacetest
def newinterface():
    url = conf.get("env", "url") + "/interfaces/"
    headers = {"Authorization": getattr(EnvData, "token")}
    data = {
        "name": random_intername(),
        "tester": "fls530",
        "project_id": getattr(EnvData, "pid"),
        "desc": "test"
    }
    res = (request(method='post', url=url, json=data, headers=headers)).json()
    EnvData.iid = str(jsonpath.jsonpath(res, "$..id")[0])
コード例 #21
0
 def test_audit(self, case):
     # 第一步:准备数据:获取管理员token
     admin_phone = conf.get("test_data", "phone")
     admin_pwd = conf.get("test_data", "pwd")
     admin_member_id, admin_token = HandleSetup.handle_setup(admin_phone, admin_pwd)
     # 2:获取普通用户id和token
     phone = conf.get("test_data", "phone")
     pwd = conf.get("test_data", "pwd")
     member_id, token = HandleSetup.handle_setup(phone, pwd)
     #每次添加一个新项目
     url = conf.get("env", "url") + "/loan/add"
     headers = eval(conf.get("env", "headers"))
     headers["Authorization"] = token
     data = {"member_id": member_id,
             "title": "木森借钱造大炮",
             "amount": 2000,
             "loan_rate": 12.0,
             "loan_term": 3,
             "loan_date_type": 1,
             "bidding_days": 5}
     # 发送请求,添加项目
     response = request(method="post", url=url, json=data, headers=headers)
     res = response.json()
     # 提取项目的id给审核的用例使用
     loan_id = jsonpath.jsonpath(res, "$..id")[0]
     url = conf.get("env", "url") + case["url"]
     data = eval(case["data"].replace("#loan_id#", str(loan_id)))
     headers = eval(conf.get("env", "headers"))
     headers["Authorization"] = admin_token
     method = case["method"]
     expected = eval(case["expected"])
     row = case["case_id"] + 1
     # 第二步:调用接口,获取实际结果
     response = request(url=url, method=method, json=data, headers=headers)
     res = response.json()
     # 第三步:断言
     try:
         self.assertEqual(expected["code"], res["code"])
         self.assertEqual(expected["msg"], res["msg"])
     except AssertionError as e:
         # 结果回写excel中
         log.error("用例--{}--执行未通过".format(case["title"]))
         log.debug("预期结果:{}".format(expected))
         log.debug("实际结果:{}".format(res))
         log.exception(e)
         self.excel.write_data(row=row, column=8, value="未通过")
         raise e
     else:
         # 结果回写excel中
         log.info("用例--{}--执行通过".format(case["title"]))
         self.excel.write_data(row=row, column=8, value="通过")
コード例 #22
0
ファイル: handle_data.py プロジェクト: fls530/Api_test
def replace_data(data):
    """替换数据"""
    while re.search("#(.*?)#", data):
        res = re.search("#(.*?)", data)
        key = res.group()
        item = res.group(1)
        try:
            value = conf.get("test_data", item)
        except:
            value = getattr(HandleSetup, item)
        data = data.replace(key, value)
    return data
コード例 #23
0
 def test_invest(self, case):
     """投资用例"""
     # 第一步:准备数据
     url = conf.get("env", "url") + case["url"]
     method = case["method"]
     headers = eval(conf.get("env", "headers"))
     if case["interface"] != "login":
         # 如果不是登陆接口,添加一个token
         headers["Authorization"] = getattr(HandleSetup, "token")
     data = eval(replace_data(case["data"]))
     expected = eval(case["expected"])
     row = case["case_id"] + 1
     response = request(url, method, json=data, headers=headers)
     res = response.json()
     if case["interface"] == "login":
         # 如果是登陆接口,提取id和token
         member_id = str(jsonpath.jsonpath(res, "$..id")[0])
         token = "Bearer" + " " + jsonpath.jsonpath(res, "$..token")[0]
         setattr(HandleSetup, "member_id", member_id)
         setattr(HandleSetup, "token", token)
     if case["interface"] == "add":
         # 如果是加标接口,提取id进行保存
         loan_id = str(jsonpath.jsonpath(res, "$..id")[0])
         setattr(HandleSetup, "loan_id", loan_id)
     # 断言
     try:
         self.assertEqual(expected["code"], res["code"])
         self.assertEqual(expected["msg"], res["meg"])
     except AssertionError as e:
         # 结果回写excel中
         log.error("用例--{}--执行未通过".format(case["title"]))
         log.debug("预期结果:{}".format(expected))
         log.debug("实际结果:{}".format(res))
         log.exception(e)
         self.excel.write_data(row=row, column=8, value="未通过")
         raise e
     else:
         # 结果回写excel中
         log.info("用例--{}--执行通过".format(case["title"]))
         self.excel.write_data(row=row, column=8, value="通过")
コード例 #24
0
def __handle_header(token=None):
    """
    处理请求头。加上项目当中必带的请求头。如果有token,加上token。
    :param token: token值
    :return: 处理之后headers字典
    """
    headers = {
        "X-Lemonban-Media-Type": conf.get("server", "auth_type"),
        "Content-Type": "application/json"
    }
    if token:
        headers["Authorization"] = "Bearer {}".format(token)
    return headers
コード例 #25
0
ファイル: handle_data.py プロジェクト: fls530/interfacetest
def replace_data(data):
    """替换数据"""
    while re.search("#(.*?)#", data):
        res = re.search("#(.*?)#", data)
        key = res.group()
        item = res.group(1)
        try:
            # 获取配置文件中的测试数据
            value = conf.get("test_data", item)
        except:
            value = getattr(EnvData, item)

        data = data.replace(key, value)
    return data
コード例 #26
0
ファイル: handle_data.py プロジェクト: fls530/interfacetest
def newproject():
    # 每条用例之前都添加一个新的项目
    url = conf.get("env", "url") + "/projects/"
    headers = {"Authorization": getattr(EnvData, "token")}
    data = {
        "name": random_proname(),
        "leader": "fls530",
        "tester": "fls530",
        "programmer": "fls530",
        "publish_app": "test",
        "desc": "test"
    }
    # 发送项目请求,添加项目
    res = (request(method='post', url=url, json=data, headers=headers)).json()
    EnvData.pid = str(jsonpath.jsonpath(res, "$..id")[0])
コード例 #27
0
def replace_by_regular(data):
    res = re.findall("#(.*?)#", data)  # 如果没有找到,返回的是空列表。
    # 标识符对应的值,来自于:1、环境变量  2、配置文件
    if res:
        for item in res:
            # 得到标识符对应的值。
            try:
                value = conf.get("data", item)
            except:
                try:
                    value = getattr(EnvData, item)
                except AttributeError:
                    # value = "#{}#".format(item)
                    continue
            print(value)
            # 再去替换原字符串
            data = data.replace("#{}#".format(item), value)
    return data
コード例 #28
0
def __pre_data(data, token=None):
    """
    如果data是字符串,则转换成字典对象。
    """
    if data is not None and isinstance(data, str):
        # 如果有null,则替换为None
        if data.find("null") != -1:
            data = data.replace("null", "None")
        # 使用eval转成字典.eval过程中,如果表达式有涉及计算,会自动计算。
        data = eval(data)

    # 如果是v3版本,需要加上sign和timestamp2个参数。
    if conf.get("server", "auth_type") == "lemonban.v3" and token is not None:
        from Common.handle_rsa import generator_sign
        sign, timestamp = generator_sign(token)
        data["sign"] = sign
        data["timestamp"] = timestamp

    return data
コード例 #29
0
ファイル: test_04login.py プロジェクト: fls530/interfacetest
 def test_login(self, case):
     method = case["method"]
     url = conf.get("env", "url") + case["url"]
     data = eval(case["data"])
     expected = eval(case["expected"])
     row = case["case_id"] + 1
     res = (request(method, url, json=data)).json()
     try:
         assert_dict(expected, res)
     except AssertionError as e:
         # 结果回写excel中
         log.error("用例--{}--执行未通过".format(case["title"]))
         log.debug("预期结果:{}".format(expected))
         log.debug("实际结果:{}".format(res))
         log.exception(e)
         self.excel.write_data(row=row, column=8, value="未通过")
         raise e
     else:
         # 结果回写excel中
         log.info("用例--{}--执行通过".format(case["title"]))
         self.excel.write_data(row=row, column=8, value="通过")
コード例 #30
0
ファイル: chang.py プロジェクト: wulucheng/JDX_test
def __handle_header(header, token=None):
    global headers
    if header == 1:
        headers = {'App-ID': conf.get("UserInfo", "App-ID"), 'Content-Type': 'application/json'}
    elif header == 5:
        headers = {
                  'App-ID': conf.get("UserInfo", "App-ID"),
                  'Device-ID': conf.get("UserInfo", "Device-ID"),
                  'Distinct-Id': conf.get("UserInfo", "Distinct-Id"),
                  'Platform': conf.get("UserInfo", "Platform"),
                  'Version': conf.get("UserInfo", "Version"),
                  'Content-Type': 'application/json',
                }
    if token:
        headers["Access-Token"] = token
    return headers