【pytest】pytest配置文件pytest.ini详解

网友投稿 1371 2022-11-24

【pytest】pytest配置文件pytest.ini详解

【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小时内删除侵权内容。

上一篇:微信小程序无障碍组件介绍
下一篇:微信上线微搭核酸统计工具,助力基层高效抗疫
相关文章

 发表评论

暂时没有评论,来抢沙发吧~