当前位置: 首页 > news >正文

python接口测试之测试报告

在本文章中,主要使用jenkins和编写的自动化测试代码,来生成漂亮的测试报告,关于什么是CI这些我就不详细的介绍了,这里我们主要是实战为主。

首先搭建java的环境,这个这里不做介绍。搭建好java的环境后,在https://jenkins.io/上下载jenkins,以及在https://jenkins.io/上下载tomcat,都下载完成后,进行解压,把jenkins.war放在tomcat的webapps的目录下,在tomcat的bin目录下,点击start.bat启动tomcat,启动后,在浏览器中访问http://localhost:8080/jenkins,首次使用会看到需要输入密码,在windows环境下,密码是在C:\Users\Administrator\.jenkins\secrets目录下,打开initialAdminPassword文件,复制该内容,把它copy到jenkins的密码输入,然后下来选择安装插件,关于插件这里就不详细的说明了。

这里我们使用allure来生成测试报告,我们知道,在python的自动化测试中,常用生成测试报告使用的是HTMLTestRunner库,但是该库生成的测试报告不是很漂亮,我们使用allure可以生成很直观的测试报告而且测试报告比较渲,下面就来详细的说明如何使用它来生成很酷的测试报告步骤。

首先需要在jenkins中安装插件Allure Jenkins Plugin,在jenkins的插件管理中,直接搜索allure可以搜索到,然后选择安装就可以了。安装该插件成功后,点击jenkins的“系统管理”,在系统管理中,点击Global Tool Configuration,在Global Tool Configuration的界面安装allure,见截图:

点击“Allure Commandline安装...”,会出现如下的界面,见截图:

选择好后,点击save保存成功。下来我们需要安装pytest,安装的命令为:

pip install pytest pip install pytest-allure-adaptor

在线安装成功后,在cmd的命令中输入pytest,如果显示信息如下,表示安装OK,见截图:

OK,下面我们来编写代码,来进行测试,比如编写如下的测试代码,见编写后的源码:

#!/usr/bin/env python 
#-*-coding:utf-8-*-import  unittestdef div(a,b):return a-bclass DivTest(unittest.TestCase):def test_div_001(self):self.assertEqual(div(3,2),1)def test_div_002(self):self.assertEqual(div(3,3),0)def test_div_003(self):self.assertEqual(abs(div(2,3)),1) 

下面我们通过pytest来执行该文件,见执行后的结果信息,见如下的截图:

下面我们结合jenkins,pytest,allure来生成测试报告,在jenekins的系统设置中指定allure的测试报告目录,见配置的截图:

我们创建新的job,在构建步骤中选择windows batch command,填写执行的命令,见截图:

在构建后操作选择Allure Report,见截图:

点击保存,刚才创建的 job是blog,创建成功后,在项目详情页面,可以看到显示allure测试报告的图标,我们立即构建后,见构建后成功后的部分打印出的信息

C:\Users\Administrator\.jenkins\workspace\blog\report -c -o C:\Users\Administrator\.jenkins\workspace\blog\allure-report
Report successfully generated to C:\Users\Administrator\.jenkins\workspace\blog\allure-report
Allure report was successfully generated.
Creating artifact for the build.
Artifact was added to the build.
Finished: SUCCESS

见blog的job的详情页面,见截图:

见点击Allure Report后的测试报告,见截图:

OK,测试报告就总结到这里

http://www.lryc.cn/news/91683.html

相关文章:

  • HGFormer:用于领域广义语义分割的层级式分组Transformer
  • async函数用法
  • 简谈软件版本周期 | Alpha、Beta、RC、Stable版本之间的区别
  • VS2022发布独立部署的.net程序
  • 5-网络初识——封装和分用
  • 机器学习——特征工程
  • ubuntu安装搜狗输入法,图文详解+踩坑解决
  • docker 数据持久化
  • Pytest运行指定的case,这个方法真的很高效……
  • 操作系统复习2.3.4-进程同步问题
  • 3ds MAX 基本体建模,长方体、圆柱体和球体
  • 搭建个人博客
  • JavaScript进阶(下)
  • 基于PyQt5的图形化界面开发——堆栈动画演示
  • 2023 年第三届长三角高校数学建模竞赛赛题浅析
  • sqlite3免费加密开源项目sqlcipher简单使用
  • SOLIDWORKS PDM Professional中的Add-ins
  • 干货 | 郭晓雷:数智安全监管机制研究与思考
  • 感应雷电浪涌的防线,SPD浪涌保护器
  • ThreeJS教程:屏幕坐标转标准设备坐标
  • [elasticsearch 实现插入查询小demo ]
  • 因为计算机中丢失VCRUNTIME140怎么办?为什么会丢失VCRUNTIME140.dll
  • 【满分】【华为OD机试真题2023B卷 JAVAJS】数字游戏
  • NLP常用的三种中文分词工具对比
  • Visual C++ 6.0环境开发PACS影像系统的技术指标和精准算法
  • 接口测试介绍以及用例编写
  • MATLAB迭代的三种方式以及相关案例举例
  • 测试替身Test Doubles的5类型(Mockito)
  • 【C++】链表
  • day42_jsp