UI自动化测试 —— Jenkins配置

前一段时间帮助团队搭建了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上管理。

现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:110685036

Jenkin做什么?

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

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

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

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

设置HTML测试报告的路径

设置XML测试报告的路径。

配置发邮件功能。

大致效果如下:

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

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

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

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

最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走!

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
 

在这里插入图片描述

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

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

相关文章

SQL Server远程登录失败

SQL Server远程登录失败 检查SQL SERVER 是否允许远程访问. 具体步骤: 1)在远端SQL Server主机上,打开SSMS并连接数据库 2)在相应”数据库”上单击右键,选择”属性” 3)选择”连接”选项卡,检查”远程服务器连接”下,RPC服务是否选择. 设置SQL Server相关TCP连接 1.打开SQL Se…

下载Python的不同版本在同一台电脑上如何共存

1. 下载安装不同版本的Python 官网下载:https://www.python.org/downloads/安装自己需要的版本(我这里以Python3.6和Python3.9为例,下载安装细节不过多赘述) (这里的安装路径自己设定,命名最好是根据下载…

项目管理之六大目标及成功方程式

项目管理的六大目标分别是范围、质量、时间、成本、收益和风险。在项目开始之前,需要明确了解项目的范围,并在项目执行过程中对范围进行严格控制,确保项目不偏离既定的范围。同时,需要明确项目的质量标准和预期成果,然…

使用 Apache Kafka 进行发布-订阅通信中的微服务

发布-订阅消息系统在任何企业架构中都发挥着重要作用,因为它可以实现可靠的集成,而无需紧密耦合应用程序。在解耦的系统之间共享数据的能力并不是一个容易解决的问题。 考虑一家拥有多个使用不同语言和平台独立构建的应用程序的企业。它需要响应地共享数…

frp隧道(流量代理)

代理 代理使用场景 拿下远程web服务器webshell连接不稳定,需要使用稳定的木马程序远程服务器无法直接连接攻击者电脑(内网IP)需要借助公网vps转发来自失陷服务器的木马流量借助frp服务器(vps)和客户端(内…

MOS管经常被烧坏,多半是这些原因

MOS管,即金属氧化物半导体场效应管,是电子电路中常见的重要元件,因此很多电子工程师会选择在电路板上使用MOS管,但在使用过程中经常会遇见MOS管莫名被烧毁的问题,这些问题是如何造成的?如何解决&#xff1f…

彻底解决Qt中文乱码以及汉字编码的问题(UTF-8/GBK)

彻底解决Qt中文乱码以及汉字编码的问题(UTF-8/GBK) Chapter1 (彻底解决Qt中文乱码以及汉字编码的问题(UTF-8/GBK)一、Qt Creator环境设置二、编码知识科普Qt常见的两种编码是:UTF-8和GBK 三、编码转换四、QString显示中文乱码的原…

香港服务器在大陆连不上怎么回事?

众所周知,香港服务器与中国内地的网络连通性是比较好的,不仅是机房地理距离的加持,还有就是利用CN2 GIABGP高速线路,参考恒创科技香港服务器访问内地网站,无需绕国际线路转换再到大陆,访问速度会比较快。但…

【交叉编译】tslib库交叉编译

tslib 是一个捕捉触屏事件的工具。qt 库在交叉编译的时候,提供了 -tslib 选项,使用该选项需要提前对 tslib 库进行交叉编译。 目录 1、源码下载 2、安装依赖 3、创建编译脚本 4、开始编译 1、源码下载 tslib 源码下载地址: https://github.com/lib…

《动手学深度学习 Pytorch版》 8.4 循环神经网络

8.4.1 无隐状态的神经网络 对于无隐藏装态的神经网络来说,给定一个小批量样本 X ∈ R n d \boldsymbol{X}\in\mathbb{R}^{n\times d} X∈Rnd,则隐藏层的输出 H ∈ R n h \boldsymbol{H}\in\mathbb{R}^{n\times h} H∈Rnh 通过下式计算: …

html和css基础练习

vscode快捷键 alt b 在浏览器中打开 alt shift b 在其他浏览器打开 ctrl / 注释 ctrl y 快捷键删除 参考文章 https://www.bilibili.com/video/BV1m84y1w7Tb 基础html标签 img:图像,title:头部文字,body:主…

格式工厂怎么把两个视频合并在一起

免费的工具谁不喜欢呢,今天为大家介绍的是格式工厂这款多功能视频转换软件,然而今天主要为大家介绍的是格式工厂的视频合并功能。 是的,你没有听错,格式工厂除了转换之外,还可以视频合适、视频剪辑、视频分割、去水印…

linux 安装python django pip 遇到的问题

Python解决SSL不可用问题 解决方案: 首先要明白python版本需要和openssl的版本需要相对匹配的,在Python3.7之后的版本,依赖的openssl,必须要是1.1或者1.0.2之后的版本,或者安装了2.6.4之后的libressl,linux…

实验室超声波清洗器的频率越高越好?

实验室超声波清洗器是一种新型的清洗设备,为实验室的高清洁度需求而开发。可实现各种试验玻璃容器和精密设备的自动清洗,处理传统人工清洗费时费力、效果难以控制的缺点,避免科研人员暴露在有害的清洗试剂中,改善实验室清洗环境。…

Meta开源数字水印Stable Signature,极大增强生成式AI安全

全球社交、科技巨头Meta(Facebook、Instagram等母公司)在官网宣布,开源数字水印产品Stable Signature,并公开论文。 据悉,Stable Signature是由Meta和INRIA(法国国家信息与自动化研究所)联合开…

“一馆一策”保亚运,精准气象服务背后的数据魔法

第十九届杭州亚运会已隆重闭幕,十五个比赛日留下了无数精彩的瞬间:开幕式数字火炬手点燃主火炬、男女100米接力赛的激情澎湃、“时间孤勇者”丘索维金娜的坚持、围棋选手柯洁的泪洒赛场…… 作为亚洲水平最高的综合型运动会,本届杭州亚运会竞…

选实验室超声波清洗机易忽视的内容?小型清洗机的优点有?

实验室超声波清洗机如今在行业内占据着重要的一席之地,摒弃了传统模式,坚持以超声波为主的清洗方式,在市场中获得的反响强烈。服务好,有诚信的实验室超声波清洗机能够消除客户的后顾之忧,工作人员会以真诚态度向客户提…

UGUI交互组件Slider

一.Slider对象的结构 对象介绍Slider附加Slider组件Background背景Fill Area填充范围Fill填充对象Handle Slider Area滑块移动范围Handle滑块 二.Slider组件属性 属性说明Fill Rect关联填充对象Handle Rect关联滑块对象Direction设置方向Min Value最大取值Max Value最小取值Wh…

1600*C. Game On Leaves(博弈游戏树)

Problem - 1363C - Codeforces 解析: 我们将目标结点 x 当作树的根,显然,到当 x 的度为 1 的时候,此时行动的人胜利。 我们假设现在的情况为,只剩余三个点,再选择任意一个点,则对方获胜。但是两…

Unity角色或摄像机移动和旋转的控制脚本

该脚本挂载到需要被移动、旋转控制的物体身上,也可以之间挂在到摄像机上! 挂载到摄像机上可以实现第一人称视角控制! 挂载到物体身上,配合摄像机跟踪脚本可以实现,第三人称视角控制! 第一人称视角 将角…