Example #1
0
    def do_mysql(query,state='all'):
        db_config=eval(ReadConfig.get_config(project_path.case_config_path,'DB','config'))
        #利用这个类读取文件
        cnn = mysql.connector.connect(**db_config)

        cur = cnn.cursor(buffered = True)
        #执行语句
        cur.execute(query)
        if state==1:
            res = cur.fetchone()#数据库单l行
        else:
            res = cur.fetchall()#多行
        # print(int(res[0]+1))


        cur.close()
        cnn.close()
        return res
Example #2
0
from read_config import ReadConfig
cf = ReadConfig()
print(cf.get_config('path'))
Example #3
0
    def get_excel(cls, file_name):
        wb = load_workbook(file_name)  # linux路径
        test_data = []  #拿到字典里面的所有数据

        mode = eval(
            ReadConfig.get_config(project_path.case_config_path, 'MODE',
                                  'mode'))
        # tel=getattr(GetCookie,'NoRegTel')#利用反射拿到数据
        normal_tel = getattr(GetCookie, "normal_tel")  #从getdata里面直接拿数据 利用反射
        for key in mode:  #遍历配置文件里面的字典
            sheet = wb[key]  #key就是表单名
            if mode[key] == 'all':
                for i in range(2, sheet.max_row + 1):
                    row_data = {}
                    row_data["case_id"] = sheet.cell(i, 1).value  #行号
                    row_data["url"] = sheet.cell(i, 2).value
                    # row_data["data"] = sheet.cell(i, 3).value    #拿到手机号之后这个地方要做替换
                    # if sheet.cell(i,3).value.find('${normal_tel}')!= -1: #找这一行的第三列看S{tel_1}的值
                    #     # row_data['data']=sheet.cell(i, 3).value.replace('${normal_tel}',str(normal_tel))  #字符串替换
                    #     row_data['data'] = DoRegs.do_regs(sheet.cell(i, 3).value)
                    if sheet.cell(i, 3).value.find('${normal_tel}') != -1:
                        row_data['data'] = sheet.cell(i, 3).value.replace(
                            '${normal_tel}', str(normal_tel + 1))
                    else:  #如果没有拿到值
                        # row_data['data'] = sheet.cell(i, 3).value
                        row_data['data'] = DoRegs.do_regs(
                            sheet.cell(i, 3).value)

                    # if sheet.cell(i, 4).value ==None:
                    #     Doexcel().write_back(project_path.test_case_path, "invest", row_data["case_id"]+1,4,str(normal_tel))
                    if sheet.cell(i, 4).value != None:
                        if sheet.cell(i, 4).value.find('${normal_tel}') != -1:
                            # row_data['check_sql'] = DoRegs.do_regs(sheet.cell(i, 4).value)
                            # row_data["check_sql"]=sheet.cell(i, 4).value.replace('${normal_tel}',str(normal_tel))
                            row_data['check_sql'] = DoRegs.do_regs(
                                sheet.cell(i, 4).value)

                    else:
                        row_data["check_sql"] = sheet.cell(i, 4).value
                    row_data["expected"] = sheet.cell(
                        i, 5).value  #添加一个期望值到测试数据里面去
                    row_data["method"] = sheet.cell(i, 6).value
                    row_data["title"] = sheet.cell(i, 7).value
                    row_data["sheet_name"] = key
                    test_data.append(row_data)
                    cls.update_tel(normal_tel + 2, file_name, "init")  #更新手机号
            else:
                for case_id in mode[key]:  #mode可以不等于 all的时候就可以等于他的列表里面的数据
                    row_data = {}  #字典
                    print(case_id)
                    row_data["case_id"] = sheet.cell(case_id + 1,
                                                     1).value  # 行号
                    row_data["url"] = sheet.cell(case_id + 1, 2).value
                    if sheet.cell(case_id + 1,
                                  3).value.find('${normal_tel}') != -1:
                        row_data['data'] = sheet.cell(case_id + 1,
                                                      3).value.replace(
                                                          '${normal_tel}',
                                                          str(normal_tel + 1))
                    else:  #如果没有拿到值
                        # row_data['data'] = sheet.cell(i, 3).value
                        row_data['data'] = DoRegs.do_regs(
                            sheet.cell(case_id + 1, 3).value)
                    # if sheet.cell(case_id+1,3).value.find('${normal_tel}')!= -1: #找这一行的第三列看S{tel_1}的值
                    #     row_data['data']=sheet.cell(case_id+1, 3).value.replace('${normal_tel}',str(normal_tel))  #字符串替换
                    #
                    # elif sheet.cell(case_id+1,3).value.find('${normal_tel1}')!=-1:
                    #     row_data['data'] = sheet.cell(case_id+1,3).value.replace('${normal_tel1}',str(normal_tel))
                    # else:  #如果没有拿到值
                    #     row_data["data"] = sheet.cell(case_id+1, 3).value
                    #这是sql语句的处理
                    if sheet.cell(case_id + 1,
                                  4).value.find('${normal_tel}') != -1:
                        print(row_data["check_sql"])
                        row_data["check_sql"] = DoRegs.do_regs(
                            sheet.cell(case_id + 1, 4).value)
                    else:
                        row_data["check_sql"] = sheet.cell(case_id + 1,
                                                           4).value
                    row_data["expected"] = sheet.cell(
                        case_id + 1, 5).value  # 添加一个期望值到测试数据里面去
                    row_data["method"] = sheet.cell(case_id + 1, 6).value
                    row_data["title"] = sheet.cell(case_id + 1, 7).value
                    row_data["sheet_name"] = key
                    test_data.append(row_data)
                    cls.update_tel(normal_tel + 2, file_name,
                                   "init")  #更新手机号  针对excel的操作

        return test_data