菜单 学习猿地 - LMONKEY

VIP

开通学习猿地VIP

尊享10项VIP特权 持续新增

知识通关挑战

打卡带练!告别无效练习

接私单赚外块

VIP优先接,累计金额超百万

学习猿地私房课免费学

大厂实战课仅对VIP开放

你的一对一导师

每月可免费咨询大牛30次

领取更多软件工程师实用特权

入驻
95
0

Pytest 操作

原创
05/13 14:22
阅读数 82145

pytest各种自动化测试用例的代码

官方文档给出了pytest寻找测试项(也就是测试用例)的具体规则:

· 如果为指定命令行参数,则从testpath(如果已配置)或当前目录开始收集。

  如果命令行参数,指定了目录,文件名或 node id 的任何组合,则按参数来找

· 寻找过程会递归到目录中,除非它们匹配上 norecursedirs.

· 在这些目录中,搜索由其测试包名导入的 test_*.py或*_test.py文件。

· 从这些文件中,收集如下测试项:

  · test为前缀的函数

  · Test(注意类为大写T)为前缀的类 里面的test为前缀的方法

 

示例:

首先,我们编写的测试用例代码文件,必须test_开头,或者以_test结尾(pytest 会根据命令 来识别哪些是自动化测试用例)

比如,创建一个文件名为 test_错误登录.py, 放在目录autotest\cases\login 下

其中 autotest 是创建的自动化项目根目录

代码:

class Test_ercode:

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

 

项目命令行运行 pytest  查看结果

 

 

 显示找到3个测试项,2个执行通过,一个不通过。

通过用例是用一个绿色小的表示, 不通过的检查点 显示代码细节

 

用例代码中有些打印语句没有显示内容。

因为pytes会 截获print打印内容

如果要显示print内容,可以加上 命令行参数 -s  如: pytest -s

 

 

 

如果要得到更详细的执行信息, 包括每个测试类,测试函数名字,可以加上-v 这个参数可以和-s 合并

如:pytest -sv   (详细内容)

 

 

 产生报告

测试报告需要一个 pytest-html插件 是用来产生测试报告的

下载:pip install pytest-html

要产生报告,在命令行加上参数 --html=report.html(自己命名的heml文件) --self-contained-html 如下:

pytest --html=report.html --self-contained-html

这样就会产生名为report.html的测试报告文件,可再浏览器打开

 

 

 

注意:工具有个bug,导致测试目录,文件名,类名中 ,如果有中文,显示为乱码

修复:

  打开插件对应的代码文件,通常在解析器目录下: site-packages\pytest_html\plugin.py

 

 

  找到代码:

 

报告展示

 

 

 

    

 

发表评论

0/200
95 点赞
0 评论
收藏
为你推荐 换一批