网站建站建设怎么做,微信公众号 手机网站开发,高端网站建设与制作,网站营销活动页面制作文章目录一、登录接口普通方式实现二、封装登录接口2.1登录接口对象层#xff08;重点#xff09;2.1.1 py02_tpshop_api.py2.2 登录接口测试用例层#xff08;重点#xff09;2.2.1 优化前2.2.2 优化后-定义setup方法三、小结一、登录接口普通方式实现
import requests# …文章目录一、登录接口普通方式实现二、封装登录接口2.1登录接口对象层重点2.1.1 py02_tpshop_api.py2.2 登录接口测试用例层重点2.2.1 优化前2.2.2 优化后-定义setup方法三、小结一、登录接口普通方式实现importrequests# 创建 session对象sessionrequests.Session()# 发送 验证码请求 getsession.get(urlhttp://tpshop-test.itheima.net/index.php?mHomecUseraverifyr0.1858685996048326)# 发送 登录请求 postrespsession.post(urlhttp://tpshop-test.itheima.net/index.php?mHomecUserado_logint0.11324043675270756,data{username:13812345678,password:12345678,verify_code:8888})# 打印响应结果print(登录结果,resp.json())二、封装登录接口2.1登录接口对象层重点封装思想将 普通方式实现代码中固定不变的直接写到方法的实现内部。将动态变化的从参数传入。将响应结果通过返回值 return分析2.1.1 py02_tpshop_api.pyimportrequests# 封装 tpshop 商城 接口对象层classTpshopLoginApi(object):# 获取验证码classmethod# 装饰器defget_verify(cls,session):session.get(urlhttp://tpshop-test.itheima.net/index.php?mHomecUseraverify)# 登录classmethoddeflogin(cls,session,login_data):respsession.post(urlhttp://tpshop-test.itheima.net/index.php?mHomecUserado_login,datalogin_data)returnresp# 返回的结果# 测试自己封装的接口功能是否正常自己测试使用if__name____main__:# 创建sessionsessionrequests.Session()# 发送获取验证码请求TpshopLoginApi.get_verify(session)login_data{username:13812345678,password:123456,verify_code:8888}# 发送登录请求调完这个接口接收的responseTpshopLoginApi.login(session,login_data)print(登录结果,response.json())2.2 登录接口测试用例层重点使用 接口测试框架 pytest调用自己封装的 Api发送请求获取响应结果断言。完成接口测试先定义测试类以Test开头测试类里面有测试方法以test开头测试方法里面完成断言方法编写2.2.1 优化前测试方法按照测试用例来写。pycharm终端运行pytest -s xx.pyimportrequestsfrompy02_tpshop_apiimportTpshopLoginApiclassTestTpshopLogin(object):# 定义 测试方法 - 登录成功deftest01_login_success(self):# 创建 session 实例sessionrequests.Session()# 调用自己封装的API发送 获取验证码 请求。类名.方法名TpshopLoginApi.get_verify(session)# 准备 请求体数据req_data{username:13812345678,password:123456,verify_code:8888}# 调用自己封装的API发送 登录 请求respTpshopLoginApi.login(session,req_data)# 打印响应结果print(登录成功,resp.json())# 断言assert200resp.status_codeassert1resp.json().get(status)assert登陆成功inresp.json().get(msg)# 定义 测试方法 - 密码错误deftest02_pwd_err(self):# 创建 session 实例sessionrequests.Session()# 调用自己封装的API发送 获取验证码 请求TpshopLoginApi.get_verify(session)# 准备 请求体数据req_data{username:13812345678,password:12345689,verify_code:8888}# 调用自己封装的API发送 登录 请求respTpshopLoginApi.login(session,req_data)# 打印响应结果print(密码错误,resp.json())# 断言assert200resp.status_codeassert-2resp.json().get(status)assert密码错误inresp.json().get(msg)# 定义 测试方法 - 验证码错误deftest03_verify_err(self):# 创建 session 实例sessionrequests.Session()# 调用自己封装的API发送 获取验证码 请求TpshopLoginApi.get_verify(session)# 准备 请求体数据req_data{username:13812345678,password:123456,verify_code:8976}# 调用自己封装的API发送 登录 请求respTpshopLoginApi.login(session,req_data)# 打印响应结果print(验证码错误,resp.json())# 断言assert200resp.status_codeassert0resp.json().get(status)assert验证码错误inresp.json().get(msg)2.2.2 优化后-定义setup方法在执行每个方法之前执行一遍setup定义的方法。importrequestsfrompy02_tpshop_apiimportTpshopLoginApiclassTestTpshopLogin(object):# 定义为类属性。 使用时类属性 可以用 类名、实例、self、cls 均可以引用sessionNonedefsetup(self):# 创建 session 实例self.sessionrequests.Session()# 调用自己封装的API发送 获取验证码 请求TpshopLoginApi.get_verify(self.session)# 定义 测试方法 - 登录成功deftest01_login_success(self):# 准备 请求体数据req_data{username:13812345678,password:123456,verify_code:8888}# 调用自己封装的API发送 登录 请求respTpshopLoginApi.login(self.session,req_data)# 打印响应结果print(登录成功,resp.json())# 断言assert200resp.status_codeassert1resp.json().get(status)assert登陆成功inresp.json().get(msg)# 定义 测试方法 - 密码错误deftest02_pwd_err(self):# 准备 请求体数据req_data{username:13812345678,password:12345689,verify_code:8888}# 调用自己封装的API发送 登录 请求respTpshopLoginApi.login(self.session,req_data)# 打印响应结果print(密码错误,resp.json())# 断言assert200resp.status_codeassert-2resp.json().get(status)assert密码错误inresp.json().get(msg)# 定义 测试方法 - 验证码错误deftest03_verify_err(self):# 准备 请求体数据req_data{username:13812345678,password:123456,verify_code:8976}# 调用自己封装的API发送 登录 请求respTpshopLoginApi.login(self.session,req_data)# 打印响应结果print(验证码错误,resp.json())# 断言assert200resp.status_codeassert0resp.json().get(status)assert验证码错误inresp.json().get(msg)三、小结