python+request实现接口-登陆模块参数和断言 1、 接口封装注意点组装变量post请求中的dataform表格和jsonjson格式#导包。。。classloginAPI():#初始化url地址def__init__(self):self.getLogin01_urlapp.BASE_URL/iCloud-rest/channel-manager/authentication/accountself.getLogin02_urlapp.BASE_URL/iCloud-rest/channel-manager/authentication/form#封装登陆接口一先获取账号defgetLoginAccout(self,session,username,password):data{username:username,password:password}# data {username: 13426251955, password: 123321Aa}responsesession.post(self.getLogin01_url,jsondata)#json格式returnresponse#封装登陆接口二-选择账号后登陆defgetLogin02(self,session,tenantId,username,password,remember_metrue):data{username:f{tenantId}:{username},#两个变量组成一个变量使用格式password:password,remember_me:remember_me}responsesession.post(self.getLogin02_url,datadata)#form表格returnresponse2、测试脚本3. 断言封装直接使用4. 参数化response.json提取5. 函数调用时请注意参数顺序urldata如果urlurl,datadata这种格式可以不用管参数顺序#导包。。。classlogin(unittest.TestCase):username13426251900password123456password_error123133remember_metruedefsetUp(self)-None:#封装接口类实例化,创建request连接self.login_apiloginAPI()#session实例化self.sessionrequests.Session()deftearDown(self)-None:self.session.close()deftest03_get_login02(self):# 第一个接口responseself.login_api.getLoginAccout(self.session,self.username,self.password)logging.info(login response {}.format(response.json()))assert_utils(self,response,200,200,获取账号列表)#频繁使用的断言封装self.tenantIdresponse.json().get(data)[0][tenantId]# 定义参数# 调用封装接口,请注意参数顺序responseself.login_api.getLogin02(self.session,self.tenantId,self.username,self.password)logging.info(login sucess response{}.format(response.json()))assert_utils(self,response,200,200,登录授权成功)3、断言封装defassert_utils(self,response,status_code,code,message):self.assertEqual(status_code,response.status_code)self.assertEqual(code,response.json().get(code))self.assertEqual(message,response.json().get(message))