网站建设经济可行性,自媒体平台注册头条号,天津市住房和城乡建设厅网站,小程序赚钱软件一、运行时的参数
在上一篇博客中写了pytest最为核心的运行时前后置如何设置#xff0c;细心的朋友可能也会发现其实我们当时就加过运行时的参数-vs。 pytest.main([‘-s’])#xff1a;能打印出调试信息#xff0c;print()或者日志都可以直接打印在控制台上。 pytest.ma…一、运行时的参数
在上一篇博客中写了pytest最为核心的运行时前后置如何设置细心的朋友可能也会发现其实我们当时就加过运行时的参数-vs。 pytest.main([‘-s’])能打印出调试信息print()或者日志都可以直接打印在控制台上。 pytest.main([‘-v’])能打印出运行用例时的详细信息。 我们日常在工作中呢一般都使用这两个参数而这两个参数我们一般结合起来一起使用。
if __name__ __main__:pytest.main([-vs])在这里还要说一下一个参数那就是-k只执行或者只不执行带有对应关键字的用例。 只执行带有关键字oa的用例
import pytest
import timeclass TestLogin_01:def test_01_hujian(self):print(运行用例1)def test_02_hujianoa(self):print(运行用例2)if __name__ __main__:pytest.main([-vs, -koa])
运行结果 如果想只运行不带关键字oa的用例呢
if __name__ __main__:pytest.main([-vs, -k not oa])
运行结果
二、多线程分布式运行用例
当我们存在多条用例时而用例执行又没有前后关系这时候就可以使用分布式运行用例的方法。 在使用该方法前需要先安装
pip install pytest-xdist我们在使用时不需要导入该模块。 这是我们正常运行用例时。
import pytest
import timeclass TestLogin_01:def test_01_hujian(self):print(运行用例1)time.sleep(2)def test_02_hujian(self):print(运行用例2)time.sleep(2)if __name__ __main__:pytest.main([-sv, test_login_02.py])运行时间4s。 接下来我们加参数分布式运行用例
import pytest
import timeclass TestLogin_01:def test_01_hujian(self):print(运行用例1)time.sleep(2)def test_02_hujian(self):print(运行用例2)time.sleep(2)if __name__ __main__:pytest.main([-sv, test_login_02.py, -n2])两个线程运行跑用例可以看到运行时间是2s相对于上次缩减了一半。
运行指定模块用例
在我们一般自动化测试过程中一般会有一个调用一个模块所有用例的入口方法如果我们想只运行某个测试类或者测试用例该这么做呢 只运行某个测试用例 层级分别是py文件对应的类以及方法。
import pytestif __name__ __main__:pytest.main([-vs, test_login_02.py::TestLogin_01::test_01_hujian])我们还可以指定文件夹去运行用例pytest会自动找对应文件下的用例文件前提是命名规则要对哦。
import pytestif __name__ __main__:pytest.main([-vs, 文件夹名称])