欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

pytest安装 与 基本操作

程序员文章站 2024-02-27 14:28:03
...

一、安装
直接执行 如下命令即可安装 pytest
pip install pytest

我们还需要产生测试报表,所以要安装一个第三方插件 pytest-html ,执行如下命令安装
pip install pytest-html

-======================================================================-

二、用例写法格式
首先,我们编写的测试用例代码文件, 必须以 test_ 开头,或者以 _test 结尾
比如,我们创建一个 文件名为 test_错误登录.py ,放在目录 autotest\cases\登录 下面。
其中 autotest 是 我们创建的 自动化项目根目录
内容如下
class Test_错误密码:

def test_C001001(self):
    print('\n用例C001001')
    assert 1 == 1
    
def test_C001002(self):
    print('\n用例C001002')
    assert 2 == 2
    
def test_C001003(self):
    print('\n用例C001003')
    assert 3 == 2

如果我们把测试用例存放在类中, 类名必须以 Test 为前缀的 类 ,用例对应的方法必须以 test 为前缀的方法。

-======================================================================-

三、断言
pytest 中用例的检查点 直接用 Python 的 assert 断言。
assert 后面的表达式结果 为 True ,就是 检查点 通过,结果为False ,就是检查点 不通过。

-======================================================================-

四、运行测试
1.执行测试非常简单,打开命令行窗口,进入自动化项目根目录(我们这里就是 autotest),执行命令程序 pytest 即可
如,pytest cases(运行cases目录下的测试用例)

2.如果我们希望 显示测试代码中print的内容,因为这些打印语句在调试代码时很有用,可以加上命令行参数 -s
如下
pytest -s

如果我们希望得到更详细的执行信息,包括每个测试类、测试函数的名字,可以加上参数 -v,这个参数可以和 -s 合并为 -sv
如下
pytest -sv

-======================================================================-

五、生成测试报告
1.要产生报告,在命令行加上 参数 --html=report.html --self-contained-html ,如下
pytest cases --html=report.html --self-contained-html
这样就会产生名为 report.html 的测试报告文件,可以在浏览器中打开

2.但是这个工具有个bug,导致测试目录、文件、类名 中,如果有中文,显示为乱码
可以这样修复:
打开该插件对应的代码文件,通常在解释器目录下:site-packages\pytest_html\plugin.py
找到如下代码

class TestResult:
def init(self, outcome, report, logfile, config):
self.test_id = report.nodeid.encode(“utf-8”).decode(“unicode_escape”)
改为

class TestResult:
def init(self, outcome, report, logfile, config):
# 白月黑羽修改方法,解决乱码问题
# self.test_id = report.nodeid.encode(“utf-8”).decode(“unicode_escape”)
self.test_id = report.nodeid

然后再次运行,就可以发现中文乱码问题已经解决了。

相关标签: pytest