智慧屏 安装 app如何提升家庭娱乐与教育体验的关键工具
1371
2022-11-24
【pytest】pytest配置文件pytest.ini详解
文章目录
前言pytest.ini的内容构成配置项markers配置项testpaths配置项addopts
前言
说到配置,大家可能想到的是不经常更改的内容,比如Django里的settings.py文件,或者我们做自动化的时候,把测试环境的域名和正式环境的域名放到一个配置文件里,所有的接口都从这个文件里读取。这样,如果有一天,我们的域名变了,我们只需要更改配置里的域名就可以了。pytest里也有几个配置文件。
pytest.ini:pytest的主配置文件,可以改变pytest的默认行为,有很多可配置的选项。 conftest.py:是本地的插件库,其中的hook函数和fixture将作用于该文件所在的目录以及所有子目录。init.py:每个测试子目录都包含该文件时,那么在多个测试目录中可以出现同名测试文件。 tox.ini:它与pytest.ini类似,只不过是tox的配置文件,你可以把pytest的配置都写在tox.ini里,这样就不用同时使用tox.ini和pytest.ini两个文件
本文只谈pytest.ini的使用
pytest.ini的内容构成
配置项markers
先谈markers,它的作用是做注册标记,防止拼写错误。比如把@pytest.mark.smoke拼成@pytest.mark.somke,默认情况下。这不会引起程序错误。pytest会以为这是你创建的另一个标记。为了避免拼写错误。可以在pytest.ini文件里注册标记
[pytest]markers = smoke: Run the smoke test functions for tasks project get: Run the test functions that test tasks.get()
import pytestdef inc(x): return x + 1@pytest.mark.smokedef test_answer(): assert inc(3) == 55@pytest.mark.postdef test_answer1(): assert inc(4) == 5
配置项testpaths
testpaths指示pytest去哪里访问。testpaths是一系列相对于根目录的路径,用于限定测试用例的搜索范围。只有在pytest未指定文件目录参数或测试用例标识符时,该选项才有作用
[pytest]testpaths = test_001
配置项addopts
更改默认命令行选项
pytest用命令行运行时,有时候需要经常要用到某些参数,又不想重复输入,这时可以使用pytest.ini文件里的addopts设置
[pytest]addopts=-vqs
编写的用例
from selenium import webdriver def testOpenUrl(): try: driver = webdriver.Firefox() # 打开浏览器 driver.get('# 访问百度 title = driver.title # 获取百度首页的title assert title == '百度一下,你就知道' # 断言 except AssertionError:raise AssertionError('断言失败!') driver.quit()
from selenium import webdriver import pytest @pytest.mark.run_this_testcase #添加mark的标签 def testOpenUrl(): try: driver = webdriver.Firefox() # 打开浏览器 driver.get('# 访问百度 title = driver.title # 获取百度首页的titleprint(driver.title)assert title == '百度一下,你就知道' # 断言except AssertionError:raise AssertionError('断言失败!')driver.quit()def testBaidu():driver = webdriver.Firefox() # 打开浏览器driver.get('# 访问百度title = driver.title # 获取百度首页的titleassert title == '百度一下,你就知道' # 断言
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~