项目说明:
背景:有一段时间没做自动化相关的内容了,最近正好也在学习pytest,所以用pytest做一个接口自动化来巩固自己的学习
项目技术选型:
Python+Requests+Pytest+YAML+Xlrd+Allure
实现过程:
项目开始前对整体框架进行了大致的思考,主要是考虑用kdt还是ddt的方式来编写接口自动化,最终考虑还是使用了ddt的方式。
刚开始考虑使用kdt,但本意是想用pytest做参数化,尽可能的对代码进行复用,让后续进行改动时避免需要做过多的修改。
kdt在我的考虑中更适合去做ui自动化,因为ui自动化过程中会更多的存在重复操作,对元素定位以及重复操作封装关键字。
项目分层:公共层,数据层,启动层,日志层,工具层
整体思路:
公共层:
1.对不同的断言方式进行了封装
2.封装根据sheet对象读取每个sheet中每一行的用例数据
class rexcel_result:
# def __init__(self):
# self.result=readexcel('../data/testcase.xlsx')
def row_result(self,result,row_num):
'''
result:传入读取出来的sheets对象
row_num:传入对应需要读取的sheet的行数