视频来源:B站《冒死上传!pytest接口自动化测试框架(基础理论到项目实战及二次开发)教学视频【软件测试】》
一边学习一边整理老师的课程内容及试验笔记,并与大家分享,侵权即删,谢谢支持!
test_py.py
import configparserimport pytestfrom test2 import HttpClientclass TestCase: # 全局变量 类变量 公共变量 都可以使用 token = None httpclient = None url = None # 接口的地址放在 外层 用例执行之前 先拿到接口的项目信息 接口地址 # 读取ini文件中的数据 @classmethod def setup_class(cls): TestCase.httpclient = HttpClient() # configparser文件对象 config = configparser.ConfigParser() # 读取哪个文件 config.read(‘env.ini’, encoding=’utf-8′) TestCase.url = config.get(‘apidemo01’, ‘URL’) @classmethod def teardown_class(cls): pass # 登录 def test_login(self): # 登录接口 url+/api/login url = TestCase.url + ‘/api/login’ data = {“password”: “123456”, “username”: “admin”} res = TestCase.httpclient.send_request(method=’post’, url=url, param_type=’json’, data=data) print(res.json()) TestCase.token = res.json()[‘token’] # 个人信息查询 下划线报错 # 函数与函数支架的变量是不能够互相去使用 全局变量、类变量 def test_userinfo(self): url = TestCase.url + ‘/api/getuserinfo’ header = {‘token’: TestCase.token} res = TestCase.httpclient.send_request(method=’get’, url=url, param_type=’json’, headers=header) print(res.json())if __name__ == ‘__main__’: pytest.main([‘test_py.py’, ‘-sv’])# pytest实现关联 通过类变量去实现的# setupclass所有用例执行之前要做的事情
env.ini
[apidemo01]URL = http://39.98.138.157:5000