allure结合python生成测试报告教程

这篇文章主要介绍了allure结合python生成测试报告教程,具有很好的参考价值,希望对大家有所帮助。

百度搜索实例

一、代码结构

data.yml为数据管理文件,test_baidudemo.py为测试用例文件,文件结构如下:

创建data/data.yml文件,代码如下

 
  1. - allure

  2. - pytest

  3. - unittest

创建test_baidudemo.py,代码如下

 
  1. #!/usr/bin/env python

  2. # -*- coding: utf-8 -*-

  3. from __future__ import unicode_literals

  4. import allure

  5. import pytest

  6. import yaml

  7. from selenium import webdriver

  8. import time

  9. @allure.testcase("https://www.baidu.com")

  10. @allure.feature("百度搜索")

  11. @pytest.mark.parametrize('test_data1',yaml.safe_load(open("data/data.yml")))

  12. def test_steps_demo(test_data1):

  13. with allure.step("打开百度网页"):

  14. driver = webdriver.Chrome()

  15. driver.get("https://www.baidu.com")

  16. driver.maximize_window()

  17. with allure.step(f"输入搜索词:{test_data1}"):

  18. driver.find_element_by_id("kw").send_keys(test_data1)

  19. time.sleep(2)

  20. driver.find_element_by_id("su").click()

  21. time.sleep(2)

  22. with allure.step("保存图片"):

  23. driver.save_screenshot("./result/b.png")

  24. allure.attach.file("./result/b.png",attachment_type=allure.attachment_type.PNG)

  25. with allure.step("关闭浏览器"):

  26. driver.quit()

二、运行结果

进入项目目录下,使用以下语句运行

 
  1. pytest test_baidudemo.py -s -q --alluredir=./result/ #执行测试用例,并生成测试报告数据在当前文件夹result文件下

  2. allure serve ./result/ #启动allure,并使用result下的测试结果数据生成测试报告

生成的报告如下图所示:

问题解决

运行时总是报错当前chromedriver只支持chrome78,实际上已经更新了chromedriver83,未找到原因解决,最终在代码里加上chromedriver绝对路径。将driver = webdriver.Chrome()修改为driver = webdriver.Chrome(‘C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe')。

with allure.step(f"输入搜索词:{test_data1}"):,在python3.6.8版本上运行该语句总是报语法错误,修改为 with allure.step(“输入搜索词:”+test_data1):,可以正常运行并输出。

allure简介与使用

allure简介

Allure是一款轻量级并且非常灵活的开源测试报告框架。 它支持绝大多数测试框架, 例如TestNG、Pytest、JUint等。它简单易用,易于集成。

allure如何生成测试报告 

运行的时候加上 pytest.main ( ‘–alluredir', ‘report/result', ‘TestDemo01.py']) 会在当前文件夹创建一个report文件夹,在report文件夹下创建result

生成html测试报告 

因为生成的测试报告是json的,不好看,所有用这个命令生成一个好看的HTML测试报告.

运行之后,就会生成一个HTML文件夹,点开index.html这个就是我们的测试报告

allure几个常用特性(测试报告中展示)

@allure.feature (用于描述被测试产品需求)

@allure.story (用于描述feature的用户场景,即测试需求)

with allure.step() (用于描述测试步骤,将会输出到报告中)

allure.attach (用于向测试报告中输入一些附加的信息,通常是一些测试数据,截图等)

pytest断言设置并结合allure生成测试报告

测试报告

以上为个人经验,希望能给大家一个参考.

感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值