1、传统方式
import requests,pytest
from Learning.variable import * # 定义变量
#url = "https://www.baidu.com" class TestClass(object):
global url #在此获取全局变量,并将其设置为TestClass类的全局变量
def setup_class(self):
print("start...") def test_get(self):
#global url #在此获取全局变量,并将其设置为test_get方法内的全局变量
res = requests.get(url=url)
assert res.status_code == 200 if __name__ == '__main__':
pytest.main()
2、pytest推荐模式,即conftest测试数据共享
2.1、在function中使用
# content of test01.py import pytest,requests #将conftest中的com_variable方法传入用例中,不需要导入即可使用
def test_getBaidu(com_variable):
a=requests.get(com_variable['url'])
code = a.status_code
assert code == 200
def test_paas():
pass
# content of conftest.py
import pytest iaas={
'url':'https://www.baidu.com', } @pytest.fixture(scope="module")
def com_variable():
return iaas
2.2、在class中使用
conftest不变,直接在class中的方法入参中传入即可
import requests,pytest
from Learning.variable import * # 定义变量
#url = "https://www.baidu.com" class TestClass(object):
#global url #在此获取全局变量,并将其设置为TestClass类的全局变量
def setup_class(self):
print("start...")
#直接在此传入即可
def test_get(self,com_variable):
#global url #在此获取全局变量,并将其设置为test_get方法内的全局变量
res = requests.get(url=com_variable['url'])
assert res.status_code == 200 if __name__ == '__main__':
pytest.main()