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

UI自动化测试之Jenkins配置

团队下半年的目标之一是实现自动化测试,这里要吐槽一下,之前开发的测试平台了,最初的目的是用来做接口自动化测试和性能测试,但由于各种原因,接口自动化测试那部分功能整个废弃掉了,其中和易用性有很大关系,另外,也和我们公司的接口业务也有关。不过性能测试功能开发同学用的很欢快,还有接口的管理,目前是连接前端与后端的重要桥梁。目前又加入了环境管理(我公司主要用docker创建开发和测试环境),最近又加入了需求管理与bug管理,所以,从“测试平台”变成了“研发协作平台”。为什么不用市面上主流的缺陷管理系统?例如,禅道,JIRA。因为我们公司有自己特定的开发流程。单就环境的管理(docker)市面上的平台就不能满足。

说回到自动化测试,当然是优先考虑的接口自动化,我之前也有分享过主流接口工具/框架的对比,但实际与业务线的测试同学沟通过后,发现支付的接口是异步的,走的网关也不确定,结果是很难做。在加上测试的业务是环环相扣的,用户从选择活动、加入购物车、到支付中间涉及十几接口,都高度依赖上一个接口的返回值。如果解除依赖(用mockServer)去测试单个的接口意义不大,也不能覆盖到现有业务场景。

于是,我们放弃了接口自动化测试,先从UI下手,这就比较好做了,模拟用户的操作流程就好了。所以,并不是接口自动化一定比UI自动化好做,这个得看项目。

UI自动化所用到的技术:

  • selenium:不解释。
  • pytest:单元测试框架,因为它可以全局的配置浏览器驱动的开启与关闭,而且有很多好用的扩展插件,更适合来做UI自动化。
  • pytest-html:生成HTML测试报告,可以配置用例失败自动截图,这一点对UI自动化很重要。
  • pytest-rerunfailures:可以实现用例的失败重跑,这一点对UI自动化也很重要。Selenium-page-objects:我封装的page objects库,以前也有介绍,让你编写page层更加简单。
  • Git/Bitbucket:我们的测试代码提交到Bitbucket上管理。

Jenkin做什么?

接下来才是重点,Jenkins主要用来运行UI自动化测试。接下来介绍一下我的配置。

配置Git,连接Bitbucket,检查项目代码更新。

定时任务,设置为每天晚上22:00运行。

构建命令,拉取代码,并运行所有用例。

 

设置HTML测试报告的路径

设置XML测试报告的路径。

配置发邮件功能。

大致效果如下:

 

可以点击HTML Report查看HTML报告,最新结果可以看到项目XML格式的报告。测试趋势图,这个是基于XML报告插件生成的。

在Jenkins中查看测试HTML测试报告。

当然,还有构建完成所收到的邮件。

希望以上的介绍,能给你提供一些思路。

 

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

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

相关文章:

UI自动化测试之Jenkins配置

团队下半年的目标之一是实现自动化测试,这里要吐槽一下,之前开发的测试平台了,最初的目的是用来做接口自动化测试和性能测试,但由于各种原因,接口自动化测试那部分功能整个废弃掉了,其中和易用性有很大关系…...

电视盒子什么品牌好?数码博主盘点目前性能最好的电视盒子

电视盒子是非常重要的,老人小孩基本每天都会看电视,而电视盒子作为电视盒子的最佳拍档销量十分火爆,我自己每个月都会测评几次电视盒子,今天给大家详细解读一下电视盒子什么品牌好,看看目前性能最好的电视盒子是哪些&a…...

对于枚举类型的输出

对于枚举类型的输出 对于枚举类型的输出&#xff0c;您可以使用以下方法&#xff1a;1. 将枚举值转换为整数进行输出&#xff1a;cppODU_TYPE type ODU_TYPE_331;int value static_cast<int>(type);std::cout << "ODU_TYPE: " << value <<…...

solidity开发环境配置,vscode搭配remix

#学习笔记 初学solidity&#xff0c;使用remix非常方便&#xff0c;因为需要的环境都配置好了&#xff0c;打开网站就可以使用。 不过在编写代码方面&#xff0c;使用vscode更方便&#xff0c;而vscode本身并不能像remix那样部署合约&#xff0c;它还需要安装插件。 点击红色箭…...

chatGPT生成代码--go组合算法

提问&#xff1a;用golang写一个组合算法函数zuhe(x,n)&#xff0c;x为组合所需的字符&#xff0c;n 为组合后的字符串长度&#xff0c;例如 x"ab", n2 结果返回 aa,ab,bb,ba 结果&#xff1a;下面是一个用Go编写的生成长度为n的字符串组合的函数 zuhe&#xff0c;其…...

推荐6款普通人搞副业做自媒体AI工具

hi&#xff0c;同学们&#xff0c;我是赤辰&#xff0c;本期是赤辰第5篇AI工具类教程&#xff0c;文章底部准备了粉丝福利&#xff0c;看完可以领取&#xff01;身边越来越多的小伙伴靠自媒体实现财富自由了&#xff01;因此&#xff0c;推荐大家在工作之余或空闲时间从事自媒体…...

vs中git提交合并分支的步骤记录

vs打开终端 PS D:\project\et_lower4_driver> git pull Already up to date. PS D:\project\et_lower4_driver> git branch * kiyun_usb7851 master PS D:\project\et_lower4_driver> git checkout master Switched to branch master Your branch is up to date wit…...

PostgreSQL 备份恢复:pg_probackup

文章目录 前言1. 安装备份工具1.1 环境介绍1.2 RPM 安装1.3 验证 2. 配置备份工具2.1 初始化设置2.2 创建备份用户2.3 配置自动归档 3. 工具使用介绍3.1 init3.2 add-instance3.3 del-instance3.4 set-config3.5 show-config3.6 set-backup3.7 backup3.8 show3.9 delete3.10 re…...

博客程序系统其它功能扩充

一、注册功能 1、约定前后端接口 2、后端代码编写 WebServlet("/register") public class RegisterServlet extends HttpServlet {Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {//设置…...

MATLAB 2023安装方法之删除旧版本MATLAB,安装新版本MATLAB

说明&#xff1a;之前一直使用的是MATLAB R2020b&#xff0c;但最近复现Github上的程序时&#xff0c;运行不了&#xff0c;联系作者说他的程序只能在MATLAB 2021之后的版本运行&#xff0c;因此决定安装最新版本的MATLAB。 系统&#xff1a;Windows 11 需要卸载的旧MATLAB 版…...

全国唯一一所初试考Java的学校!平均300分拿下

苏州科技大学 考研难度&#xff08;☆&#xff09; 内容&#xff1a;23考情概况&#xff08;拟录取和复试分析&#xff09;、院校概况、23专业目录、23复试详情、各专业考情分析、各科目考情分析。 正文1187字&#xff0c;预计阅读&#xff1a;3分钟 2023考情概况 苏州科技…...

day35 | 860.柠檬水找零、406.根据身高重建队列、452. 用最少数量的箭引爆气球

目录&#xff1a; 解题及思路学习 860. 柠檬水找零 在柠檬水摊上&#xff0c;每一杯柠檬水的售价为 5 美元。顾客排队购买你的产品&#xff0c;&#xff08;按账单 bills 支付的顺序&#xff09;一次购买一杯。 每位顾客只买一杯柠檬水&#xff0c;然后向你付 5 美元、10 美…...

ffmpeg批量转码

新建.bat文件 echo offfor %%s in (*.mp4) do ( echo %%s ffmpeg -i %%s -b 7M %%~ns7m.mp4 ) pause如果你的电脑有显卡&#xff0c;也可以使用硬件转码。转码程序链接...

时序预测 | MATLAB实现基于QPSO-BiLSTM、PSO-BiLSTM和BiLSTM时间序列预测

时序预测 | MATLAB实现基于QPSO-BiLSTM、PSO-BiLSTM和BiLSTM时间序列预测 目录 时序预测 | MATLAB实现基于QPSO-BiLSTM、PSO-BiLSTM和BiLSTM时间序列预测效果一览基本描述程序设计参考资料 效果一览 基本描述 1.Matlab实现QPSO-BiLSTM、PSO-BiLSTM和BiLSTM神经网络时间序列预测…...

【TypeScript学习】—基本类型(二)

【TypeScript学习】—基本类型&#xff08;二&#xff09; 一、TypeScript基本类型 //也可以直接用字面量进行类型声明let a:10; a10;//也可以使用 |来连接多个类型&#xff08;联合类型&#xff09;let b:"male"|"female"; b"male"; b"fe…...

uni-app点击复制指定内容(点击复制)

官方api uni.setClipboardData(OBJECT) uni.setClipboardData({data: 要被复制的内容,success: function () {console.log(success);} });...

无涯教程-Flutter - 简介

Flutter是一个由谷歌开发的开源移动应用软件开发工具包&#xff0c;用于为Android、iOS、 Windows、Mac、Linux、Google Fuchsia开发应用。 通常&#xff0c;创建移动应用程序是一个非常复杂和具有挑战性的任务。有许多框架可用&#xff0c;它提供了开发移动应用程序的出色函数…...

【STM32】学习笔记-时间戳RTC

Unix时间戳 Unix 时间戳&#xff08;Unix Timestamp&#xff09;定义为从UTC/GMT的1970年1月1日0时0分0秒开始所经过的秒数&#xff0c;不考虑闰秒 时间戳存储在一个秒计数器中&#xff0c;秒计数器为32位/64位的整型变量 世界上所有时区的秒计数器相同&#xff0c;不同时区通…...

绿色能源迎来跨越式增长新时代

当今世界&#xff0c;百年未有之大变局加速演进&#xff0c;新一轮科技革命和产业变革深入发展&#xff0c;全球气候治理呈现新局面&#xff0c;新能源和信息技术紧密融合&#xff0c;生产生活方式加快转向低碳化、智能化&#xff0c;能源体系和发展模式正在进入非化石能源主导…...

【算法】函数渐近的界基础知识及定理

创作不易&#xff0c;本篇文章如果帮助到了你&#xff0c;还请点赞 关注支持一下♡>&#x16966;<)!! 主页专栏有更多知识&#xff0c;如有疑问欢迎大家指正讨论&#xff0c;共同进步&#xff01; &#x1f525;c系列专栏&#xff1a;C/C零基础到精通 &#x1f525; 给大…...

Embedded Coder实战:5分钟搞定PID控制器的C代码生成(附完整配置流程)

Embedded Coder实战&#xff1a;5分钟搞定PID控制器的C代码生成&#xff08;附完整配置流程&#xff09; 在工业自动化领域&#xff0c;PID控制器就像一位不知疲倦的调节大师&#xff0c;默默维持着无数设备的稳定运行。想象一下&#xff0c;当你需要将这套经典算法部署到资源有…...

飞书机器人集成OpenClaw与百川2-13B-4bits量化版:对话触发任务实战

飞书机器人集成OpenClaw与百川2-13B-4bits量化版&#xff1a;对话触发任务实战 1. 为什么选择这个技术组合 去年冬天&#xff0c;我接手了一个小团队的内部效率优化项目。团队每天需要从海量行业报告中提取关键数据&#xff0c;整理成简报表。最初尝试用传统RPA工具&#xff…...

【RAG】基于 RAG 的知识库问答系统设计与实现

基于 RAG 的知识库问答系统设计与实现1. 系统介绍2. 技术与方法3. 核心功能代码片段3.1 知识库创建3.2 知识对话问答3.3 知识库清空4. 系统运行效果截图4.1 文件上传与知识库创建4.2 知识库问答4.3 文件删除与知识库清空总结项目代码地址&#xff1a;https://github.com/AI-Mee…...

OpenClaw任务链设计:千问3.5-35B-A3B-FP8复杂流程自动化

OpenClaw任务链设计&#xff1a;千问3.5-35B-A3B-FP8复杂流程自动化 1. 为什么需要任务链自动化 上周我遇到一个典型的工作场景&#xff1a;需要从20份PDF报告中提取关键数据&#xff0c;整理成Excel表格&#xff0c;再根据这些数据生成分析图表&#xff0c;最后通过邮件发送…...

Grok API 实战指南:从申请到集成的开发者全攻略

1. Grok API 是什么&#xff1f;能做什么&#xff1f; 如果你是一名开发者&#xff0c;最近可能被 Grok API 刷屏了。简单来说&#xff0c;Grok API 是 xAI 公司提供的一套接口服务&#xff0c;允许开发者将强大的 Grok 大模型集成到自己的应用中。想象一下&#xff0c;你开发的…...

串扰是怎么来的?相邻层走线方向比间距更重要

摘要&#xff1a;在高速PCB设计中&#xff0c;串扰是导致信号完整性问题的主要原因之一。许多工程师过于关注走线间距&#xff08;3W规则&#xff09;&#xff0c;却忽视了相邻层走线方向的影响。本文将从物理机制出发&#xff0c;解释为什么相邻层走线方向正交&#xff08;垂直…...

Go Routine 调度器的核心逻辑

Go语言凭借其轻量级线程——Goroutine&#xff0c;成为高并发编程的热门选择。而Goroutine的高效运行&#xff0c;离不开其底层调度器的精妙设计。本文将深入解析Goroutine调度器的核心逻辑&#xff0c;揭示其如何实现数万并发任务的流畅调度。调度模型&#xff1a;M-P-G三级协…...

Claude Sonnet/Opus 4.6、CodeX系列、Gemini系列三大国际顶级模型到底有多强?!不服真不行!

Claude 4.6 系列、GPT-5.3 Codex 和 Gemini 3 Pro 三分天下&#xff1a; 维度Claude 4.6 (Sonnet/Opus)GPT-5.3 CodexGemini 3.1 Pro逻辑推理 (GPQA)Opus: 91.3% (巅峰)90.2%89.5%代码工程 (SWE-bench)Sonnet: 79.6% (最稳)56.8% (Pro 版)54.2%终端执行 (Terminal-Bench)69.9%…...

OpenClaw与企业微信/飞书/钉钉深度集成方案

第1章 引言 1.1 OpenClaw简介与定位 OpenClaw是一个现代化的AI Agent运行框架,专为构建企业级智能助手和应用而设计。它采用模块化架构,通过统一的Gateway接口支持多种通信渠道的接入,让AI能力能够无缝融入企业现有的协作生态中。 OpenClaw的核心特性包括: 多渠道统一接…...

QuiX公司取得光子量子计算纠错重大突破

QuiX Quantum公司周四宣布&#xff0c;该公司已成功演示了光子量子计算机中首个低于阈值的错误缓解技术&#xff0c;这一突破被认为有助于实现可扩展的容错量子系统。QuiX表示&#xff0c;其方法将物理量子比特的错误率降低到与大规模量子计算兼容的水平。这些研究结果是在QuiX…...