Python、Pytest、Allure、Selenium和Jenkins实现自动化测试集成实例

news2024/11/26 14:54:17

下方查看历史精选文章

重磅发布 - 自动化框架基础指南pdfv1.1
大数据测试过程、策略及挑战

测试框架原理,构建成功的基石

在自动化测试工作之前,你应该知道的10条建议

在自动化测试中,重要的不是工具

本文将介绍如何使用Python、Pytest、Allure、Selenium和Jenkins实现测试自动化集成。通过将这些工具结合使用,可以实现自动化测试、测试结果报告、持续集成等功能,提高测试效率和质量。

一、环境搭建

安装Python和Pytest

Python是一种流行的脚本语言,Pytest是一个Python测试框架,可以用于编写和运行测试用例。在安装Python之后,可以使用pip安装Pytest:

pip install pytest

安装Selenium

Selenium是一个自动化测试工具,可以用于模拟用户在浏览器中的操作。可以使用pip安装Selenium:

pip install selenium

安装Allure

Allure是一个测试结果报告工具,可以生成漂亮、易读的测试报告。可以从官网下载Allure安装包,安装完成后将其添加到环境变量中即可。在执行测试时,需要使用pytest-allure插件生成Allure报告。

安装Jenkins

Jenkins是一个流行的持续集成工具,可以用于自动构建、测试和部署软件。可以从官网下载Jenkins安装包,安装完成后启动Jenkins服务即可。

二、编写测试用例

在完成环境搭建之后,可以开始编写测试用例。下面是一个简单的测试用例:

import pytest
from selenium import webdriver
@pytest.fixture(scope="module")
def driver():
    driver = webdriver.Chrome()
    yield driver
    driver.quit()
def test_baidu_search(driver):
    driver.get("http://www.baidu.com")
    driver.find_element_by_id("kw").send_keys("pytest")
    driver.find_element_by_id("su").click()
    assert "pytest" in driver.title

这个测试用例使用Selenium模拟用户在百度搜索pytest的过程,并检查搜索结果页面的标题是否包含关键词"pytest"。测试用例使用pytest-fixtures来管理webdriver实例,以便在多个测试用例中共享同一个实例。

三、生成Allure报告

在编写测试用例之后,可以使用pytest-allure插件来生成Allure报告。可以使用以下命令执行测试用例并生成Allure报告:

pytest --alluredir=report

这个命令会在当前目录下生成一个report目录,其中包含测试结果的JSON数据。使用以下命令生成Allure报告:

allure serve report

这个命令会启动一个Web服务器,在浏览器中打开Allure报告。

四、集成Jenkins

在完成测试用例编写和Allure报告生成之后,可以将其集成到Jenkins中,实现持续集成。在Jenkins中,可以使用以下步骤来配置测试任务:

  • 创建一个新的Jenkins任务,选择"构建一个自由风格的软件项目"。

  • 在"源码管理"中配置源代码仓库地址和分支。

  • 在"构建触发器"中选择"定期构建",并设置构建的时间间隔。

  • 在"构建"中选择"执行Windows批处理命令"(或者其他系统的命令),并输入以下命令:

cd /d %WORKSPACE%
pip install pytest
pip install selenium
pytest --alluredir=report
allure serve report

这个命令会在Jenkins工作空间中执行测试用例,并生成Allure报告。

在完成Jenkins配置之后,可以定期执行测试任务,自动化运行测试用例并生成测试结果报告。如果测试用例中出现了问题,Jenkins将会自动发送邮件通知相关人员。这样可以帮助团队快速发现和解决问题,提高软件质量和效率。

总结

通过结合Python、Pytest、Allure、Selenium和Jenkins等工具,可以实现自动化测试、测试结果报告、持续集成等功能。这些工具可以帮助团队快速发现和解决问题,提高软件质量和效率。如果您想要学习更多关于测试自动化和持续集成的知识,建议您阅读相关的书籍、博客和文档,以便更好地掌握这些技术。

448f8e60f8663eae139c6313f22f6b9b.jpeg

1b6fea0a1ef173df05b7d85286145cf0.png

微信搜一搜 或 长按加群

3f52faaabf64676d6c48a0bb13b448af.png

开源优测

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/513538.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

燃气巡检系统

燃气管网检查是整个管网可靠运行的重要保证,尤其是加强天然气管道巡检管理更是重中之重。要做好管网维护工作,必须认真把握好每个环节,每个过程,每个细节,认真落实管网巡维制度等,而通过凡尔码管理系统可使…

程序员痛心流涕自述:“因为把自己代码给了别人,我亲手断送了自己的前程”

在求职的过程中,一般都会有投递简历、笔试、面试以及背调的环节,而在这几个环节中折戟沉沙的人也着实不少。 不少人觉得,在求职时简历需要优化,背调不能有瞒报、捏造的情况,而笔试面试则是纯纯的要靠硬实力。 虽然说…

MySQL基础(二十六)索引的创建与设计原则

1. 索引的声明与使用 1. 1 索引的分类 MySQL的索引包括普通索引、唯一性索引、全文索引、单列索引、多列索引和空间索引等。 从功能逻辑上说,索引主要有 4 种,分别是普通索引、唯一索引、主键索引、全文索引。 按照物理实现方式,索引可以分…

【Linux】shell编程之循环语句

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一、循环语句二、for循环语句1.for 语句的结构2.for语句应用示例 三、while 循环语句1.while 循环语句结构2.while语句应用示例 四、until 循环五、跳出循环六、死循…

【Linux】信号的保存

信号的小细节真的很多~ 文章目录 前言一、信号的保存总结 前言 首先我们先引出一个新的概念,叫核心转储。linux系统提供了一种能力,操作系统可以将一个进程在异常的时候将核心代码部分进行核心转储,将内存中进程的相关数据全部dump到磁盘中&…

新版ripro全站美化子主题美化包使用说明手册

前言: 安装 Ripro 前,首先是需要先安装好 WordPress 主程序,因为 Ripro和美化包只是 WordPress 的一枚主题而已! 如何安装 WordPress 并不在本教程范围内,建议百度 如何安装好 WordPress ,但是还是想建议一下,尽量选择 Linux+php+nginx 的机器来安装 WordPress! 安装…

win部署CAS服务并使用

前提描述:通过本次了解cas是个什么东西,并使用它。 cas为oss(单点登录)的一种实现方案。要实现cas单点登录,首先需要部署cas的server服务。 CAS是Central Authentication Service的缩写,中央认证服务,。 一、安装CAS…

若依管理系统RuoYi-Vue:权限系统设计详解

文章目录 摘要数据库表结构设计菜单管理目录、菜单和按钮的区别菜单权限 api接口权限配置方法PreAuthorize注解介绍数据权限 前端vue权限拦截菜单权限按钮权限 摘要 若依(RuoYi)是一款基于Spring Boot和Vue.js开发的快速开发平台,它的权限管…

今天面了个阿里拿25k出来的小哥,让我见识到了什么是测试天花板

2022年堪称大学生就业最难的一年,应届毕业生人数是1076万。失业率超50%! 但是我观察到一个数据,那就是已经就业的毕业生中,计算机通信等行业最受毕业生欢迎! 计算机IT行业薪资高,平均薪资是文科其他岗位的…

优秀CRM系统的四个条件

如今,构建“以客户为中心”的经营模式,是许多企业提升竞争力的核心战略。CRM系统能够管理客户关系,提高销售线索转化率,帮助企业实现业绩增长。那么众多品牌中,CRM系统哪家公司做得更好? CRM做得好有哪几个…

Vue换肤主题

拷贝颜色选择组件 **ThemePicker <template><!-- navabar的换肤组件 --><el-color-pickerv-model="theme":predefine="[#409EFF,

智慧校园水电节能监管系统

现阶段各高校用电设备量多范围广&#xff0c;包含寝室、办公室、教室、会议厅、试验室、公共图书馆、运动场馆、饭堂、路面、园林绿化等地方&#xff0c;能耗极大。而且大多数节能意识薄弱&#xff0c;欠缺科学合理、科学合理的规章制度开展监管&#xff0c;造成电力能源很多消…

达索的全面的三维设计和产品开发工具CATIA V5-6R 2020版本下载与安装配置教程

目录 前言一、CATIA 安装二、CATIA更新包安装三、使用配置四、帮助文档安装&#xff08;非必要&#xff09;总结 前言 Dassault Systemes公司的CATIA软件是一种基于计算机辅助设计&#xff08;CAD&#xff09;和计算机辅助制造&#xff08;CAM&#xff09;的软件&#xff0c;用…

Vue(组件间通信:props、自定义事件、全局事件总线、消息订阅与发布)

一、props props不仅可以实现父给子传递信息&#xff0c;还可以进行子给父传递信息 1.父给子传递信息&#xff1a; 父组件中给子组件实例传递信息 子组件利用props进行接收组件传递信息&#xff08;接收方式有三种&#xff1a;数组、对象、配置对象&#xff09; 2.子给父传递…

【表面缺陷检测】基于yolov5的布匹表面缺陷检测(附代码和数据集)

写在前面: 首先感谢兄弟们的订阅,让我有创作的动力,在创作过程我会尽最大能力,保证作品的质量,如果有问题,可以私信我,让我们携手共进,共创辉煌。 路虽远,行则将至;事虽难,做则必成。只要有愚公移山的志气、滴水穿石的毅力,脚踏实地,埋头苦干,积跬步以至千里,就…

Mybatis Plus 入门 简单的CRUD 使用详解 条件查询 分页查询 DML操作 MP代码生成器

Mybatis Plus入门 MP是 MybatisPlus&#xff0c;简称MP&#xff0c;是一个 Mybatis 的增强工具&#xff0c;在 Mybatis 的基础上只做增强不做改变。MP为简化开发、提高效率而生。 它已经封装好了单表curd方法&#xff0c;我们直接调用这些方法就能实现单表CURD。 注意&#xf…

一分钟图情论文:《AIGC驱动的智慧图书馆转型:框架、路径与挑战》

一分钟图情论文&#xff1a;《AIGC驱动的智慧图书馆转型&#xff1a;框架、路径与挑战》 AIGC&#xff08;Artificial Intelligence Generated Content&#xff09;是一种全新的生产方式&#xff0c;利用人工智能技术自动生成文本、图片、语音、视频甚至虚拟现实等各种形式的数…

5 创建映射

5 映射 上边章节安装了ik分词器&#xff0c;如果在索引和搜索时去使用ik分词器呢&#xff1f;如何指定其它类型的field&#xff0c;比如日期类型、数 值类型等。 本章节学习各种映射类型及映射维护方法。 5.1 映射维护方法 1、查询所有索引的映射&#xff1a; GET&#xf…

【MCAL_UART】-1.2-图文详解RS232,RS485和MODBUS的关系

目录 1 UART&#xff0c;RS232和RS485通信拓扑 2 什么是RS232 2.1 RS232标准的演变 2.2 RS232标准讲了哪些 2.2.1 RS232通信的电平 2.2.2 RS232通信的带宽 2.2.3 RS232通信距离 2.2.4 RS232通信的机械接口 3 什么是RS485 3.1 RS485标准的演变 3.2 RS485标准讲了哪些…

java运算符和表达式

文章目录 一、Java运算符和表达式二、Java算数运算符实例讲解三、Java关系运算符实例讲解四、Java逻辑运算符实例讲解五、Java位运算符实例讲解六、Java赋值运算符实例讲解七、Java条件运算符实例讲解八、Java instanceof运算符实例讲解九、Java运算符的优先级和结合性总结 一、…