本文介绍: 作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试学习资源,希望能给你前进的路上带来帮助。

一、Pytest简介
1.pytest一个非常成熟的全功能的Python测试框架,主要有一下几个特点:
简单灵活,容易上手,支持参数
2.能够支持简单的单元测试复杂功能测试,还可以用来seleniumappium自动化测试requests+pytest接口自动化测试
3.pytest具有很多第三方插件,并且可以自定义扩展比较好用的如:
pytestselenium集成selenium
pytesthtml(完美html测试报告生成
pytestrerunfailures失败用例重复执行
pytestxdist(多CPU分发
4.测试用例skipxfail处理
5.可以很好的和jenkins集成
6.pytest支持allure测试报告
7.能兼容unittest,是unittest扩展

二、Pytest以及常用插件安装
如下内容写到一个txt文件中,如requireinstall.txt
pytest
pytest-html
pytest-xdist
pytest-rerunfailures
然后在Dos窗口使用命令安装所有的模块pip installr requireinstall.txt
通过命令pytest —version验证安装结果。如果报如下错误需要调整pythonpytest的版本,这是pythonpytest的版本兼容
下面说两个错误例子一个win7、python3.7.4以及pytest5.0+,将python降到3.7.3就ok了,另一个是Windows 10, python 3.8.1, pytest 5.3.3,将pytest降到4.6.9以下版本ok,因此建议要么python版本要么降pytest版本试试。
笔者使用的是:win7+python3.7.3+pytest5.4.1,亲测没问题

三、 pytest框架基础应用

  1. pytest运行函数时和运行里面方法情况如下
importpytestdeftest01():print('测试用例一')defabcd():print('测试用例二')classTestCase:deftest_03(self):print('测试用例三')defdefg(self):print('测试用例四')if__name__=='__main__':pytest.main(['-s','pytest-demo.py'])

运行结果如下

注意事项
(1) 测试函数类中测试方法都必须以test_ 开头,当然以什么开头在pytest可自定义
(2) 测试类必须以Test开头,并且不能带有init方法
(3) 断言必须使用assert断言
执行方式
(1) 主函数方式运行
指定运行文件:pytest.main([’-s’,‘pytest-demo.py模块名’])
注意:如果py文件是以test_开头或者以_test结尾则可以使用pytest.main()运行。因为pytest.main()会运行当前目录下所有以test_开头或者以_test结尾的文件
(2) 命令行方式运行
点开Pycharm左下角的:Terminal打开当面目录下的命令行窗口
输入命令执行:pytest pytest-demo.py模块
注意:如果py文件是以test_开头或者以_test结尾则可以使用pytest命令运行,因为pytest会运行当前目录下所有以test_开头或者以_test结尾的文件

四、 运行时参数说明
-s:显示打印内容
如:pytest pytest-demo.py -s
等价于:pytest.main([’-s’,‘pytest-demo.py’])
:::指定测试用例运行
运行函数:如:pytest pytest-demo.py::test_01
等价于:pytest.main([’-s’,‘pytest-demo.py::test01’])
运行类中方法:如:pytest pytest-demp.py::TestCase::test_03
等价于:pytest.main([’-s’, ‘pytest-demo.py::TestCase::test_03’])
html=路径/report.html生成xml/html格式测试报告需要先安装pytest-html
如:pytest pytest-demp.py —html-./report.html
等价于:pytest.main([’-s’,‘pytest-demo.py’,’–html=./report.html’])
maxfail=1:出现1个失败就终止测试
如:pytest pytest-demo.py —maxfail=1
等价于:pytest.main([’-s’,‘pytest-demo.py’,’–maxfail=1’])
n:pytest-xdist多线程运行(需要先安装pytest-xdist)
如:pytest pytest-demo.py –n 2
等价于:pytest.main([’-s’,‘pytest-demo.py’,’-n=2’])
用例中使用time.sleep(2)加等待时间测试,发现多线程时间减少了。
reruns NUM:重试运行测试用例(需要先安装pytest-rerunfailures
如:pytest pytest-demo.py –reruns 2
则一旦有用例失败,则会重复执行两次,貌似这种不能用main运行。

由此能看出:pytest.main([’-s’,‘pytest-demo.py模块名’]),main方法中是传入的一个list格式,list中可以传入多个参数。

五、pytest的ini配置文件
pytest.ini文件是pytest的主配置文件,可以改变pytest的默认行为
1.pytest.ini的放置位置:一般放在项目工程根目录(即当前项目的顶级文件夹下)
2.pytest.ini的作用:指定pytest的运行方式(在cmd输入pytest后,会读取pytest.ini中的配置信息,按指定的方式去运行)
3.cmd下使用 pytest –h 命令查看pytest.ini的设置选项(以下截图只是部分选项
常用设置选项如下
[pytest]
addopts = -s … #可添加多个命令行参数,用空格分隔
testpaths = …/pytestproject #测试用例文件夹,可自己配置,…/pytestproject为上一层的pytestproject文件夹
python_files = test*.py #配置测试搜索模块文件名
python_classes = Test* #配置测试搜索的测试类名
python_funtions = test #配置测试搜索测试函数

例如下:
[pytest]
addopts = -s —html=./report.html
testpaths = …/pytestproject
python_files = test*.py
python_classes = Test*
python_funtions = test*

注意:
1.运行的时候自动读取配置文件,运行pytestproject下的所有test开头的模块文件

总结

感谢每一个认真阅读文章的人!!!

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里腾讯字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作

 

  文档获取方式

加入我的软件测试交流群:822269834免费获取~(同行大佬一起学术交流,每晚都有大佬直播分享技术知识点

这份文档,对于想从事【软件测试】的朋友来说应该最全面最完整的备战仓库这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!

以上均可以分享,只需要搜索vx公众号:程序员雨果,即可免费领取

原文地址:https://blog.csdn.net/2301_79535733/article/details/134783838

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_39062.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注