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/1609841728668https://www.cnblogs.com/lwjnicole/p/14450361.html

各个浏览器的驱动文件:https://www.cnblogs.com/momolei/p/10118526.html

原文地址:https://www.cnblogs.com/cuitang/p/15465865.html