背景:
自动化测试用例,会在多个环境进行运行,例如:测试环境、开发环境、甚至生产环境,为了不用每次修改测试环境,可将环境信息通过yaml做数据驱动,每次只要修改yaml中信息即可。
设计思路:
将url中域名用不同的测试环境替代
1. yaml文件中存储所有测试环境ip或域名,指定默认环境
2. 测试用例读取默认环境替代url中的域名,执行测试用例
3. 修改运行环境,只要修改默认环境即可
具体实现:
yaml
env:
dev: mp.csdn.net
test: 127.0.0.3
default: dev
读取yaml文件
def read_yaml():
with open("../testdata/env_data.yaml","r") as f:
data = yaml.safe_load(f)
return data
执行测试用例
class TestEnv():
data = {"method": "get",
"url": "https://www.baidu.com/",
"headers": None
}
env = read_yaml()
def test_dev(self):
res = requests.request(self.data["method"],
url=self.data["url"].replace("www.baidu.com",self.env['env'][self.env['default']]),
headers=self.data['headers'])
print(res.text)