QQ测试项目之二

开篇闲言

愉快的周末又要过去了!在欢快之余,today,聊一下自动化测试中很重要的一个环节。测试框架选择,推荐使用python单元测试框架中的Pytest框架

为什么要选择pytest?

选择Pytest框架的理由?
python的单元测试框架很多,例如:内置的模块unittest、三方的pytest、nose等,很多自动化测试入门的朋友大多都在使用unittest + htmltestrunner 框架,其中的弊端是不是也感受一二了,比如:生成的测试报告丑、单个用例参数化繁琐、需要借助第三方模块,例如:ddt模块才能实现脚本的参数化。
1、pytest完全支持unittest的写法,所以代码过渡很快
2、pytest断言更加丰富、语法相对与unittest更加简洁
3、pytest支持的多种插件
4、嫌弃测试报告丑的更要选择pytest了

QQ测试项目之二_第1张图片
allure+jenkins测试报告.png

pytest 与 jenkins连用生成allure报告!这就涉及到了CI集成测试了
看看这报告的详细程度、看看这报告的图表分析,甩htmltestrunner几条街
当你会CI集成测试的时候,你的工资是否会涨一点呢!技术决定工资的高度,不是吗?
pytest 常用插件如下:

# 以下插件都是可以直接使用pip install xx下载滴
1. pytest-randomly: 测试顺序随机
2. pytest-xdist: 分布式测试
3. pytest-cov: 生成测试覆盖率报告
4. pytest-pep8: 检测代码是否符合 PEP8 规范
5. pytest-flakes: 检测代码风格
6. pytest-html: 生成 html 报告
7. pytest-rerunfailures: 失败重试
8. pytest-timeout: 超时测试、allure测试报告生成等

Pytest 简单使用

下载Pytest库: pip install pytest
官方文档URL:Pytest
用例查找规则:先从配置文件中(pytest.ini,tox.ini,setup.cfg)中查找配置项 testpaths 指定的路径,无配置文件则从当前目录开始查找

查找规则:

  1. 查找指定目录中以 test 开头的目录
  2. 查找当前目录下以 test_ 开头的文件
  3. 查找以 Test 开头的类(类不能存在 init 方法)
  4. 查找以 test_ 开头的函数和方法
    以上是在命令行执行pytest的查找规则,当然执行pytest时也可以跟参数
    小demo
import pytest
import allure


@allure.feature("计算两个数的和")  # feature定义功能
class TestAdd(object):
    @allure.story("开始计算两个数的和")  # story 定义用户场景
    def test_add(self):
        allure.step('开始计算')  # 记录测试步骤
        allure.attach(f'计算第一个值是1')  # 添加附加信息
        allure.attach(f'计算第二个值是4')
        allure.step('正在计算')
        result = 1 + 4
        allure.attach('预期结果是: 5')
        allure.attach(f'实际结果是:{result}')
        allure.step('校验结果')
        assert result == 5

allure 测试报告生成

生成的测试报告如下:

QQ测试项目之二_第2张图片
测试套件模块.png

QQ测试项目之二_第3张图片
功能模块.png

QQ测试项目之二_第4张图片
图表分析模块.png

三问

第一问:这报告骚气吗?
第二问:这报告详细吗?
第三问:这报告喜欢吗?

小节后语

玩石头人吗?我亚索贼溜!学测试技术吗?老哥贼秀哦!
喜欢的朋友,点个赞呗!!!
看着不过瘾的朋友,点个赞呗!!!
觉得打字累的朋友,点个赞呗!!!
想学习比网上满天飞的抄袭博客更详细的技术点,请关注下方的公众号。

独家、个人、永不抄袭、原创公众号.jpeg

注释:该号刚开张,还啥都没有,请多包含!!!
Thanks

你可能感兴趣的:(QQ测试项目之二)