东莞人才网官方网站,律师在哪个网站做推广比较好,wordpress短链,萝岗网站开发目录
前言
依赖包安装
Pytest
Allure Pytest Adaptor
改造基于Pytest的测试用例
生成测试报告
运行测试
生成测试报告
打开测试报告 资料获取方法 前言
之前写过一篇生成测试报告的博客#xff0c;但是其实Allure首先是一个可以独立运行的测试报告生成框架#xff…目录
前言
依赖包安装
Pytest
Allure Pytest Adaptor
改造基于Pytest的测试用例
生成测试报告
运行测试
生成测试报告
打开测试报告 资料获取方法 前言
之前写过一篇生成测试报告的博客但是其实Allure首先是一个可以独立运行的测试报告生成框架然后才有了Jenkins的集成插件。
这一次主要介绍如何把Allure集成到Python的Pytest单元测试框架中。 依赖包安装
Pytest
Pytest是Python的单元测试框架非常方便和易用。可以规模化以及编写更加复杂的测试用例。安装方法如下
pip install pytestAllure Pytest Adaptor
Allure Pytest Adaptor是Pytest的一个插件通过它我们可以生成Allure所需要的用于生成测试报告的数据。安装方法如下
pip install pytest-allure-adaptor改造基于Pytest的测试用例
为了使用Allure生成报告需要在conftest.py和测试脚本中加入Allure特性。pytest-allure-adaptor官网中详细介绍了pytest-allure-adaptor所具有的功能。我们这次从实际入手给大家介绍如何将其应用到自己的框架中。
首先conftest.py中可以通过allure.environment方法将测试环境的信息输出到报告中比如将测试时用的host和测试用的browser添加到测试报告中
#!/usr/bin/env python
# codingutf-8import pytest
import allure
import yamlpytest.fixture(scopesession, autouseTrue)
def env(request):Parse env config inforoot_dir request.config.rootdirconfig_path {0}/config/env_config.yml.format(root_dir)with open(config_path) as f:env_config yaml.load(f) # 读取配置文件allure.environment(hostenv_config[host][domain]) # 测试报告中展示hostallure.environment(browserenv_config[host][browser]) # 测试报告中展示browserreturn env_config接着在测试脚本中添加allure特性直接看下面的脚本我通过在脚本中添加注释的方式给大家解释allure特性的用途。比如测试脚本是test_shopping_trolley.py
#!/usr/bin/env python
# codingutf-8import pytest
import allureallure.feature(购物车功能) # feature定义功能
class TestShoppingTrolley(object):allure.story(加入购物车) # story定义用户场景def test_add_shopping_trolley(self):login(刘春明, 密码) # 调用“步骤函数”with allure.step(浏览商品): # 将一个测试用例分成几个步骤将步骤打印到测试报告中步骤2allure.attach(商品1, 刘春明) # attach可以打印一些附加信息allure.attach(商品2, liuchunming)with allure.step(点击商品): # 将一个测试用例分成几个步骤将步骤打印到测试报告中步骤3passwith allure.step(校验结果):allure.attach(期望结果, 添加购物车成功)allure.attach(实际结果, 添加购物车失败)assert success failedallure.story(修改购物车)def test_edit_shopping_trolley(self):passpytest.mark.skipif(reason本次不执行)allure.story(删除购物车)def test_delete_shopping_trolley(self):passallure.step(用户登录) # 还可以将一个函数作为一个步骤调用此函数时报告中输出一个步骤步骤名字通常是函数名我把这样的函数叫“步骤函数”
def login(user, pwd):print(user, pwd)上面使用了Allure的几个特性
allure.feature # 用于定义被测试的功能被测产品的需求点allure.story # 用于定义被测功能的用户场景即子功能点with allure.step # 用于将一个测试用例分成几个步骤在报告中输出allure.attach # 用于向测试报告中输入一些附加的信息通常是一些测试数据信息pytest.allure.step # 用于将一些通用的函数作为测试步骤输出到报告调用此函数的地方会向报告中输出步骤 生成测试报告
测试脚本中添加了Allure特性之后在执行测试的时候需要先生成Allure报告所需要的测试结果数据。在py.test执行测试的时候指定–alluredir选项及测试数据保存的目录即可
运行测试
py.test test/ --alluredir ./result/./result/中保存了本次测试的结果数据。另外还可以执行指定features或者stories执行一部分测试用例比如执行‘购物车功能’下的‘加入购物车’子功能的测试用例
py.test test/ --allure_features购物车功能 --allure_stories加入购物车生成测试报告
接下来我们可以利用上面命令产生的测试数据使用命令行生成Allure测试报告了。命令如下
allure generate ./result/ -o ./report/ --clean打开测试报告
通过下面的命令打开测试报告
allure open -h 127.0.0.1 -p 8083 ./report/测试报告会使用默认的浏览器打开下图是github上面的一个图形示例 资料获取方法
【留言777】 各位想获取源码等教程资料的朋友请点赞 评论 收藏三连
三连之后我会在评论区挨个私信发给你们~