コード例 #1
0
ファイル: mysql1.py プロジェクト: luren123/dalao
 def domysql(self,query,flag=1):
     """
     query: sql 查询语句
     flag:   标志 1 查询单条数据  2查询多条数据
     """
     #根据配置文件获取接口·数据库连接信息
     db_config = eval(ReadConfig(project_path.conf_path).get_str("SQL","db_config"))
     cnn = connector.connect(**db_config)  # 建立一个连接  字典作为关键字参数不需要加两个星号
     # 获取游标 获取操作数据库的权限
     cursor = cnn.cursor()
     #这里是传入的数据库语句
     cursor.execute(query)
     # 获取并打印结果 fetchone 获取单行数据
     if flag==1:
         res = cursor.fetchone()  # 如果单行的和多行的数据一块查,根据光标位置读取,返回的值是元祖
     else:
         res = cursor.fetchall()  # 返回的是列表嵌套元组
     return res
コード例 #2
0
 def __init__(self):
     #日志收集器的名字
     self.logger_name =ReadConfig(project_path.conf_path).get_str("My_log","logger_name")
     #日志收集器的等级
     self.logger_level =ReadConfig(project_path.conf_path).get_data("My_log","logger_level")
     #输出到输出台日志等级
     self.logger_console = ReadConfig(project_path.conf_path).get_data("My_log", "console")
     #输出到输出泰德日志等级
     self.logger_formatters = ReadConfig(project_path.conf_path).get_data("My_log", "formatter")
     #创建的日志文件名
     self.file_name = ReadConfig(project_path.conf_path).get_data("My_log", "file_name")
     #创建的日志文件等级
     self.file_level = ReadConfig(project_path.conf_path).get_data("My_log", "file_level")
コード例 #3
0
    def read_data(self, section):
        '''从excle读取数据,有返回值'''
        #从配置文件里面控制读取那些用例
        case_id = ReadConfig(project_path.conf_path).get_data(
            section, 'case_id')  #section是配置里面的片段名,可以根据你的指定来测试具体的用例
        try:
            wb = load_workbook(self.file_name)  #打开excle工作簿
            global sheet  #声明sheet为全局变量
            sheet = wb[self.sheet_name]  #定位表单
        except Exception as e:
            print('发生错误{}'.format(e))

        #每一行数据要在一起[]{}
        #每一行数据存到一个空间里
        #开始读数据
        tel = self.get_tel()
        test_data = []  #存放所有数据
        for i in range(2, sheet.max_row + 1):
            row_data = {}  #存放每一行的数据
            row_data['CaseId'] = sheet.cell(i, 1).value
            row_data['Module'] = sheet.cell(i, 2).value
            row_data['Title'] = sheet.cell(i, 3).value
            row_data['Url'] = sheet.cell(i, 4).value
            row_data['Method'] = sheet.cell(i, 5).value
            if sheet.cell(i, 6).value.find('tel') != -1:  #注意find这个方法的使用以及返回值
                row_data['Params'] = sheet.cell(i, 6).value.replace(
                    'tel', str(tel))
                self.update_tel(int(tel) + 1)  #注意 这里的tel获取的是字符串类型
            else:
                row_data['Params'] = sheet.cell(i, 6).value
            row_data['Sql'] = sheet.cell(i, 7).value
            row_data['ExpectedResult'] = sheet.cell(i, 8).value
            test_data.append(row_data)  #把每一行的数据放到一个列表
        wb.close()

        #完成用例的可配置化
        final_data = []  #空列表  储存最终的测试用例数据
        if case_id == 'all':  #如果case_id==all,那就获取所有测试用例
            final_data = test_data  #把测试用例赋值给final_data这个变量
        else:  #否则,如果是列表,那就获取列表里面指定id的用例数据
            for i in case_id:
                final_data.append(test_data[i - 1])
        return final_data
コード例 #4
0
    def read_data(self, section):  #section 配置文件里面的片段名  可以根据你的指定来执行具体的用例
        '''从Excel读取数据,有返回值'''
        case_id = ReadConfig(project_path.conf_path).get_data(
            section, 'case_id')
        wb = load_workbook(self.file_name)
        sheet = wb[self.sheet_name]

        # 唯一的要求是什么?每一行数据要在一起{} [] ()
        # 如何把每一行的数据存在一个空间里面去?[]
        # 开始读取数据
        # 获取存在Excel里面的手机号码
        tel = self.get_tel()  #自己传递表单进来
        test_data = []
        for i in range(2, sheet.max_row + 1):
            row_data = {}
            row_data['CaseId'] = sheet.cell(i, 1).value
            row_data['Module'] = sheet.cell(i, 2).value
            row_data['Title'] = sheet.cell(i, 3).value
            row_data['Url'] = sheet.cell(i, 4).value
            row_data['Method'] = sheet.cell(i, 5).value
            if sheet.cell(
                    i, 6).value.find('tel') != -1:  #注意这个方法的使用以及返回值 也可以用成员运算符
                row_data['Params'] = sheet.cell(i, 6).value.replace(
                    'tel', str(tel))  #替换值tel
                self.updata_tel(int(tel) + 1)
            else:  #如果没有tel这个子字符串  就不需要去替换了
                row_data['Params'] = sheet.cell(i, 6).value
            row_data['sql'] = sheet.cell(i, 7).value  #加上去的sql语句
            row_data['ExpectedResult'] = sheet.cell(i, 8).value
            test_data.append(row_data)
        wb.close()
        final_data = []  # 空列表 存储最终的测试用例数据
        if case_id == 'all':  # 如果case_id==all 那就获取所有的用例数据
            final_data = test_data  # 把测试用例赋值给final_data这个变量
        else:  # 否则  如果是列表 那就获取列表里面指定id的用例数据
            for i in case_id:  # 遍历case_id 里面的值
                final_data.append(test_data[i - 1])  # ? 对应关系??
        return final_data
コード例 #5
0
ファイル: get_data.py プロジェクト: luren123/dalao
import re
from API_5.common.read_config import ReadConfig
from API_5.common import project_path
config = ReadConfig(project_path.conf_path)


class GetData:
    '''可以动态的进行增删改的操作'''
    COOKIES = None
    LOAN_ID = None
    normal_user = config.get_str("data", "normal_user")
    normal_pwd = config.get_str("data", "normal_pwd")


def raplace(target):
    p2 = '#(.*?)#'
    while re.search(p2, target):  # 查找参数的字符串matach ,如果找到那么返回Ture
        m = re.search(p2, target)  # 在目标的字符串里面查找,如果有匹配的字符串就返回对象
        key = m.group(1)  # 拿到对应的key
        value = getattr(GetData, key)  # 拿到我们想要替换的内容
        target = re.sub(p2, value, target, count=1)  # 进行替换
    return target