python+pytest,通过自定义命令行参数,实现浏览器兼容性跑用例
场景拓展:
UI自动化可能需要指定浏览器进行测试,为了做成自定义配置浏览器,可以通过动态添加pytest的命令行参数,在执行的时候,获取命令行传入的参数,在对应的浏览器执行用例。
1、自动化用例需要支持在不同测试环境运行,有时候在dev环境运行,有时候在test环境运行;
2、有时需要根据某个参数不同的参数值,执行不同的业务逻辑;
Pytest自定义命令参数
在conftest文件里面,添加pytest_addoption 钩子函数,然后在函数里面编写上对应的命令,描述等,这个钩子函数会收集到所有的选项,把值保存在pytestconfig,后面使用的时,直接把pytestconfig传到其他fixture函数里面,如下自定义--browser参数,用于判断使用什么浏览器执行用例
这个命令写好之后,在执行文件里面可通过,传入具体的浏览器参数
Pytest.main(‘--browser=chrome’)
现在只是写好了这个命令参数,还要结合当前的打开浏览器的函数
首先设置好在selenium通过webdriver驱动打开浏览器
如:
结合当前打开浏览器的fixtures函数,结合命令行传入的参数,获取设置的webdriver驱动,来打开浏览器
实际使用,命令行传入—browser=firefox,使用火狐浏览器来执行
参考文章:http://testingpai.com/article/1609841728668、https://www.cnblogs.com/lwjnicole/p/14450361.html