Example #1
0
    def write_excel(self,sheet_name,content):

        # 列数从1开始,行数从1开始,首行首列都是1

        logger = get_log(inspect.stack()[0][3],style=self.log_style)

        wb = openpyxl.load_workbook(self.path)

        ws = wb.get_sheet_by_name(sheet_name)

        row_num = ws.max_row

        print(row_num)

        try:

            ws.cell(row=row_num+1,column=1).value=content

        except Exception as msg:

            logger.info(msg)

        finally:

            wb.save(self.path)
def screen_shot(driver):

    # 设置截图文件保存的路径

    path = 'D:\\XXXX\\'

    path = os.path.join(path, 'ScreenShot')

    if not os.path.exists(path):

        os.mkdir(path)

    # 设置要截图的文件名

    file_name = time.strftime('%Y_%m_%d_%H_%M_%S', time.localtime()) + '.png'

    path = os.path.join(path, file_name)

    log = get_log('screen_shot')

    try:

        driver.get_screenshot_as_file(path)

        log.info('截图成功')

    except OSError:

        log.info('截图失败')
    def rabp_apply(self, mchtName):

        """

        查询表数据

        :return: 返回APPLY_NO,

        APPLY_STATUS(1=已提交),

        AUDIT_STATUS = 审核状态(1-待审批 2-审批通过 3-补件 4-拒绝 5-拒绝转补件)

        """

        logger = get_log(inspect.stack()[0][3], self.log_style)

        connect = self.connect_mysql()

        cursor = connect.cursor()

        sql = "SELECT a.APPLY_NO,a.ID_NO,a.license_no,a.MCHT_TYPE,a.BUSINESS_TYPE,a.TRADE_TYPE," \

              "a.APPLY_STATUS,a.AUDIT_STATUS " \

              "from rabp_apply a LEFT JOIN 表名 d ON a.APPLY_NO = d.APPLY_NO WHERE d.MCHT_NAME = '%s';"\

              % (mchtName)
Example #4
0
    def read_max_row(self):

        logger = get_log(inspect.stack()[0][3],style=self.log_style)

        with xlrd.open_workbook(self.path, 'rb') as book:

            sheets = book.sheet_names()

            row_num0 = book.sheet_by_name('eighth_page').nrows

            for sheet in sheets:

                table = book.sheet_by_name(sheet)

                row_num = table.nrows

                if row_num0 != row_num:

                    content = sheet + "只有%s"%(row_num) + "行,eighth_page有%s" %(row_num0) + "行,请重新设置"

                    logger.info(content)

                    break

                else:

                    return int(row_num)
    def rabp_approve_flow(self, apply_no, approve_node=20,approve_step=1):

        """

        :param apply_no:

        :param approve_node:

        :param approve_step:

        :return: 返回审核节点审核人员UM

        """

        logger = get_log(inspect.stack()[0][3], self.log_style)

        connect = self.connect_mysql()

        cursor = connect.cursor()

        sql = "SELECT a.prev_approve_user from 表名 a " \

              "WHERE a.apply_no='%s' AND a.approve_node='%s' AND a.approve_step='%s'; " \

              % (apply_no,approve_node,approve_step)
    def apply_risk(self, apply_no):

        # 修改数据库的值

        logger = get_log(inspect.stack()[0][3],self.log_style)

        connect = self.connect_mysql()

        cursor = connect.cursor()

        sql = "SELECT `status` from 表明 WHERE apply_no = '%s'" % (apply_no)

        logger.info('执行的sql是:' + sql)

        try:

            cursor.execute(sql)

            risk_status = dict(zip([col[0] for col in cursor.description],[col for col in cursor.fetchone()]))

            content = '结果:' + risk_status['status']

            logger.info(content)

            # if risk_status['status'] != '2':

            #    sql = "UPDATE 表名 SET `status`='%d' WHERE apply_no='%s'" % (2, apply_no)

            #    print('修改值为通过,执行的sql如下:')

            #    try:

            #        cursor.execute(sql)  # 执行sql

            #        connect.commit()  # 提交

            #    except Exception as msg:

            #        print('执行失败,回滚:\n', msg)

            #        connect.rollback()  # 若发生错误回滚

            # else:

            #    print('风险初筛自动审核通过,状态是:', risk_status['status'])

            return risk_status

        except Exception as msg:

            logger.info(msg)

        finally:

            cursor.close()

            connect.close()
    def rabp_capital(self,apply_no):

        """ 检查资处审核状态和二录审核人员

        :param apply_no:

        :return:

        """

        logger = get_log(inspect.stack()[0][3], self.log_style)

        connect = self.connect_mysql()

        cursor = connect.cursor()

        sql = "SELECT c.cap_status,c.cap_user,c.qc_status from 表名 c WHERE c.apply_no = '{apply_no}';"\

            .format(apply_no=apply_no)
    def rabp_approve_node(self, apply_no, approve_node=10):

        """

        :param apply_no:

        :param approve_node: 审批节点 10:风险审核;20:收单审核;30:分期审核;40:风险人工审核

        :return:

        """

        logger = get_log(inspect.stack()[0][3], self.log_style)

        connect = self.connect_mysql()

        cursor = connect.cursor()

        sql = "SELECT r.APPLY_NO,r.approve_step,r.apply_seq,r.approve_status from 表名 r " \

              "WHERE r.APPLY_NO='%s' AND r.approve_node='%s';" % (apply_no,approve_node)
Example #9
0
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# fileName: test_asset.py
from API.all_api import AllApi
import pytest
from common.get_log import get_log
logger = get_log()


# 资产模块的测试用例
@pytest.mark.asset
@pytest.mark.usefixtures("init_token")
class TestAsset(object):
    @pytest.fixture(scope="class")
    def init_asset(self):
        logger.info(
            "\n ==============================【资产】测试用例开始 =============================="
        )
        all_request = AllApi()
        return all_request

    @pytest.mark.test
    @pytest.mark.parametrize("api_name", ["asset_main"])
    def test_asset_main(self, api_name, init_asset):
        print("\n 用例名称:获取资产列表信息\n")
        res = init_asset.send_request(api_name)
        # 获取某接口下的预期返回结果
        expected = init_asset.get_expect(api_name)
        # 断言1:success的值为true
        # assert res['success'] is True, "success的值为: %s" % res['success']
        # assert res['status_code'] == expected['status_code'], "status_code的值为: %s" % res['status_code']
Example #10
0
 def __init__(self):
     self.run = RunMethod()
     self.read = ReadYaml()
     self.logger = get_log()
Example #11
0
    def read_excel_rows(self, row):

        """

        根据指定行,读取所有sheet并以嵌套字典返回

        {'config': {'env': 'uat', 'log_style': 'console'},

        'first_page': {'mchtType': '1', 'businessType': '0100', 'tradeType': '1010'},

        """

        logger = get_log(inspect.stack()[0][3],style=self.log_style)

        with xlrd.open_workbook(self.path, 'rb') as book:

            sheets = book.sheet_names()

            data_dict = {}

            for sheet in sheets:

                table = book.sheet_by_name(sheet)  # 找到sheet页

                # 获取总行数总列数

                row_num = table.nrows

                col_num = table.ncols

                key = table.row_values(0)  # 这是第一行数据,返回一个列表,作为字典的key值

                xlsx_dict = {}

                if row_num <= 1:

                    logger.info('excel为空')

                else:

                    try:

                        values = table.row_values(row)

                        for x in range(col_num):  # 有多少列,赋值多少次

                            # 把key值对应的value赋值给key,每行循环一次

                            xlsx_dict[key[x]] = values[x]

                    # 把字典添加到列表中

                    except Exception as msg:

                        logger.info(msg)

                        logger.info('excel中每个sheet行数不一致')

                data_dict[sheet]=xlsx_dict

            return data_dict
 def __init__(self):
     self.logger = get_log()
            logger.info(msg)

        finally:

            cursor.close()

            connect.close()

if __name__ == '__main__':

    env = 'uat'

    OM = Operate_Mysql(env)

    logger = get_log('rabp', 'console')

    globals()['mchtName'] = 'XXX1'

    apply = OM.rabp_apply(globals()['mchtName'])

    # print(apply)

    # r = OM.rabp_approve_node('0545000020200330164336774344',approve_node=10)

    # print(int(r['approve_step']) == 1 and int(r['approve_status']) == 3)

    # if int(r['approve_step']) == 1 and int(r['approve_status']) == 3:

    #    print('222')