• 接口测试入门(三)


    在知道了测试用例的表后,我们所要做的最终目的就是:传入case_id,通过不同的方法,拿到这条case 所有的值并做判断。

    所以对表传入case_id的操作,其实只是知道了对应行的内容,通过不同方法拿到对应行对应列的内容。

    可以设置一个基础的取对应列的方法:

     1 class global_var:
     2     #case_id
     3     Id = '0'
     4     request_name = '1'
     5     url = '2'
     6     run = '3'
     7     request_way = '4'
     8     header = '5'
     9     case_depend = '6'
    10     data_depend = '7'
    11     field_depend = '8'
    12     data = '9'
    13     expect = '10'
    14     result = '11'
    15 #获取caseid
    16 def get_id():
    17     return global_var.Id
    18 
    19 #获取url
    20 def get_url():
    21     return global_var.url
    22 
    23 def get_run():
    24     return global_var.run
    25 
    26 def get_run_way():
    27     return global_var.request_way
    28 
    29 def get_header():
    30     return global_var.header
    31 
    32 def get_case_depend():
    33     return global_var.case_depend
    34 
    35 def get_data_depend():
    36     return global_var.data_depend
    37 
    38 def get_field_depend():
    39     return global_var.field_depend
    40 
    41 def get_data():
    42     return global_var.data
    43 
    44 def get_expect():
    45     return global_var.expect
    46 
    47 def get_result():
    48     return global_var.result
    49 
    50 def get_header_value():
    51     return global_var.header

    这样就能知道能够通过方法获取行号,之后就可以再封装方法,可以通过case_id(也就是行号),找到行。再直接使用以上方法的列号,直接编写获得所需单元格的信息和返回数据。例如:

    class GetData:
        def __init__(self):
            self.opera_excel = OperationExcel()
    
        #去获取excel行数,就是我们的case个数    
        def get_case_lines(self):
            return self.opera_excel.get_lines()
    
        #获取是否执行
        def get_is_run(self,row):
            flag = None
            col = int(data_config.get_run())
            run_model = self.opera_excel.get_cell_value(row,col)
            if run_model == 'yes':
                flag = True
            else:
                flag = False
            return flag
    
        #是否携带header
        def is_header(self,row):
            col = int(data_config.get_header())
            header = self.opera_excel.get_cell_value(row,col)
            if header != '':
                return header
            else:
                return None
    
        #获取请求方式
        def get_request_method(self,row):
            col = int(data_config.get_run_way())
            request_method = self.opera_excel.get_cell_value(row,col)
            return request_method
    
        #获取url
        def get_request_url(self,row):
            col = int(data_config.get_url())
            url = self.opera_excel.get_cell_value(row,col)
            return url
    
        #获取请求数据
        def get_request_data(self,row):
            col = int(data_config.get_data())
            data = self.opera_excel.get_cell_value(row,col)
            if data == '':
                return None
            return data
    
        #通过获取关键字拿到data数据
        def get_data_for_json(self,row):
            opera_json = OperetionJson()
            request_data = opera_json.get_data(self.get_request_data(row))
            return request_data
    
        #获取预期结果
        def get_expcet_data(self,row):
            col = int(data_config.get_expect())
            expect = self.opera_excel.get_cell_value(row,col)
            if expect == '':
                return None
            return expect
    
        #通过sql获取预期结果
        def get_expcet_data_for_mysql(self,row):
            op_mysql = OperationMysql()
            sql = self.get_expcet_data(row)
            res = op_mysql.search_one(sql)
            return res.decode('unicode-escape')
    
        def write_result(self,row,value):
            col = int(data_config.get_result())
            self.opera_excel.write_value(row,col,value)
    
        #获取依赖数据的key
        def get_depend_key(self,row):
            col = int(data_config.get_data_depend())
            depent_key = self.opera_excel.get_cell_value(row,col)
            if depent_key == "":
                return None
            else:
                return depent_key
    
        #判断是否有case依赖
        def is_depend(self,row):
            col = int(data_config.get_case_depend())
            depend_case_id = self.opera_excel.get_cell_value(row,col)
            if depend_case_id == "":
                return None
            else:
                return depend_case_id
    
        #获取数据依赖字段
        def get_depend_field(self,row):
            col = int(data_config.get_field_depend())
            data = self.opera_excel.get_cell_value(row,col)
            if data == "":
                return None
            else:
                return data

    通过以上的方法,就可以拿到单元格的值。一层一层的调用Excel里面的数据,现在还需要做的就是知道获得的数据,对数据进行操作,post到服务器,并对返回的数据判断pass或者fail.

  • 相关阅读:
    project 2013 激活 key 7YHNW-RVCQY-VBDB2-QX69Q-B96WK viso 66DNF-28W69-W4PPV-W3VYT-TJDBQ
    电脑快捷键
    Error (167005): Can't assign I/O pad "GX_TX" to PIN_AG27 because this causes failure in the placement of the other atoms in its associated channel
    学习资源
    数值孔径
    网络通信芯片
    DMD数字微镜
    运放输入阻抗
    DS18B20测温
    LED灯开关电路
  • 原文地址:https://www.cnblogs.com/shrimpPython/p/10490488.html
Copyright © 2020-2023  润新知