1、接口测试框架2、api包内封装api接口一个模块一个文件3、script包内所有测试脚本同样一个模块一个文件3、客户模块API接口封装登陆接口模块完成后新增一个客户查询模块另加一个文件query.py。注意get请求中参数格式paramsparamsimportyxf_p01.appimportrequestsclassqueryAPI():#初始化url地址def__init__(self):self.getAllQuery_urlyxf_p01.app.BASE_URL/iCloud-rest/channel-manager/customers/homeCount?self.get_project_urlyxf_p01.app.BASE_URL/iCloud-rest/channel-manager/projects/options#查询全部客户模块的统计数据defget_query(self,session,reporterId,projectId):#项目id默认为空设定默认值#参数-响应-返回data{reporterId:reporterId,projectId:projectId}responsesession.get(self.getAllQuery_url,paramsdata)returnresponse#查询项目数据defget_project(self,session,tenantId,teamId,allProjects1):params{tenantId:tenantId,teamId:teamId,allProjects:1}responsesession.get(self.get_project_url,paramsparams)returnresponse4、客户模块脚本测试编写新增一个query.py文件为客户查询模块测试脚本。另外登陆的账号密码可以写在app.py全局变量文件中方便全局更改importunittestfromyxf_p01importappfromyxf_p01.api.loginAPIimportloginAPIfromyxf_p01.api.queryAPIimportqueryAPIimportyxf_p01.appimportlogging,time,requestsfromyxf_p01.utilsimportassert_utilsclassquery(unittest.TestCase):defsetUp(self)-None:#实例化登陆、查询创建requests连接self.login_apiloginAPI()self.query_apiqueryAPI()self.sessionrequests.session()deftearDown(self)-None:#关闭连接self.session.close()#用例1成功查询全部列表统计数据deftest001_get_query_success(self):#参数-接口调用-断言# 登陆01responseself.login_api.getLoginAccout(self.session,app.LOGIN_username,app.LOGIN_password)logging.info(login response {}.format(response.json()))assert_utils(self,response,200,200,获取账号列表)self.tenantIdresponse.json().get(data)[0][tenantId]# 登陆02responseself.login_api.getLogin02(self.session,self.tenantId,app.LOGIN_username,app.LOGIN_password)logging.info(login sucess response{}.format(response.json()))assert_utils(self,response,200,200,登录授权成功)self.reporterIdresponse.json().get(data)[userId]# 获取下一个接口的参数# 查看客户列表responseself.query_api.get_query(self.session,self.reporterId)# 项目id不传递封装接口中有默认值logging.info(query response {}.format(response.json()))assert_utils(self,response,200,200,ok)5、测试套件执行新增客户查询模块后测试套件中重新编辑-增加一个测试脚本importunittestfromyxf_p01importappfromyxf_p01.script.loginimportloginfromyxf_p01.script.queryimportqueryfromyxf_p01.lib.HTMLTestRunnerimportHTMLTestRunner#添加测试脚本类suiteunittest.TestSuite()suite.addTest(unittest.makeSuite(login))suite.addTest(unittest.makeSuite(query))#再增加一个测试脚本内工作中就是写完一个脚本增加一个脚本#报告存放路径report_fileapp.BASE_DIR/report/report{}.html.format(time.strftime(%Y%m%d-%H%M%S))#运行测试套件且写入测试报告withopen(report_file,wb)asf:runnerHTMLTestRunner(f,titleyxf-接口测试报告,descriptiontest)runner.run(suite)6、测试报告执行run_suite.py文件生成测试报告。