2
有没有办法从文件中读取参数并将它们分配给setUpClass(cls)?如何从json文件读取参数并将它们放置在setUpClass(cls)
例子:
我有JSON文件,包含:
{
"browserType" : "Chrome",
"ip" : "11.111.111.111",
"port" : 4444
}
装饰:
def params_from_file(file):
"""Decorator to load params from json file."""
def decorator(func_to_decorate):
@wraps(func_to_decorate)
def wrapper(self, *args, **kwargs):
with open(file, 'r') as fh:
kwargs = json.loads(fh.read())
return func_to_decorate(self, **kwargs)
return wrapper
return decorator
测试类:
class H5Tests(unittest.TestCase):
@classmethod
@params_from_file("file.json")
def setUpClass(cls):
cls.ip = ip
cls.browser_type = browserType
cls.port = port
# some more code
@classmethod
def tearDownClass(cls):
# some code
def test_open_welcome_page(self):
# some code for the test
非常感谢您的回答,作品完美。我可以问你:如果我的json文件比我需要更多的属性,如何忽略它们。例如,如果还有“操作系统”:“Windows”,但我的setUpClass(CLS,IP,浏览器类型,端口)不使用此操作系统,我怎么能轻松摆脱它。 –
@ stefan.stt你的下一个问题是什么? –
其实我已经做到了,只需要添加** kwargs到setUpClass(cls,ip,browserType,port,** kwargs)。非常感谢你的支持,欢呼! –