Ранее поделился статьейИнкапсуляция ключевых слов интерфейсастатьи,Содержимое в основном предназначено для Тестирования в Excel. Инкапсулирован постоянный метод получения данных интерфейса, который представляет собой поле в первой строке Excel, называемое ключевыми словами. Теперь, когда я получил Тестирование интерфейсаключевые слова,Итак, как получить значение, соответствующее ключевому слову? Например, в методе, который мы инкапсулировали ранее,Вы можете получить URL ключевого слова интерфейса,Но в Excel есть несколько данных интерфейса,Значение URL, соответствующее данным каждого интерфейса, различно. Мы не можем получить URL-адрес данных каждого интерфейса построчно.,Поэтому инкапсулируйте все методы в один класс.,Какие данные по ключевым словам вам нужны?,Просто вызовите метод из класса, чтобы получить его.
Зная, что делать, вот реализация, код следующий:
__author__ = 'Leo'
from public.operate_excel import Operate_Excel
from basic_method import testcases_keyword
class getData(object):
def __init__(self):
self.op_excel = Operate_Excel()
def get_case_nums(self):
"""Получить количество тестовых случаев"""
return self.op_excel.get_sheet_nrows()
def get_is_header(self,row):
"""Переносить ли заголовки запросов"""
col = int(testcases_keyword.get_case_header())
header = self.op_excel.get_sheet_cell(row,col)
if header is not None:
return header
else:
print("Нет заголовка!")
return None
def get_is_run(self,row):
"""Бегать ли"""
col = int(testcases_keyword.get_case_is_execute())
is_run = self.op_excel.get_sheet_cell(row,col)
if is_run == 'yes':
flag = True
else:
flag = False
return flag
def get_url(self,row):
"""Получить URL"""
col = int(testcases_keyword.get_case_interface_url())
url = self.op_excel.get_sheet_cell(row,col)
return url
def get_method(self,row):
"""Получить метод запроса"""
col = int(testcases_keyword.get_case_method())
method = self.op_excel.get_sheet_cell(row,col)
return method
def get_data(self,row):
"""Получить данные запроса"""
col = int(testcases_keyword.get_case_payload())
data = self.op_excel.get_sheet_cell(row,col)
return data
def get_excepted_result(self,row):
"""Получить ожидаемые результаты"""
col = int(testcases_keyword.get_case_expected_result())
excepted_result = self.op_excel.get_sheet_cell(row,col)
if excepted_result == '':
return None
else:
return excepted_result
def get_actual_result(self,row,value):
"""Получите реальные результаты"""
col = int(testcases_keyword.get_case_actual_result())
actual_result = self.op_excel.get_sheet_cell(row,col)
self.op_excel.write_to_excel(row,col,value)
if __name__ == '__main__':
get_data = getData()
print(get_data.get_is_run(1))
print(get_data.get_url(1))
Результаты запуска:
Сравнение результатов:
Вышеупомянутый инкапсулированный метод в основном соответствует требованиям тестирования интерфейса проекта. Конечно, будут особые случаи, которые будут добавлены в соответствии с реальным проектом.