jenkins+selenium+python实现web自动化测试

news2024/11/19 4:17:47

jenkins+selenium可以做到对web自动化的持续集成。

Jenkins的基本操作:

一、新建视图及job

新建视图:

新建job:

可以选择构建一个自由风格的软件项目或者复制已有的item

二、准备工作:

安装Jenkins插件,SSH plugin ,Email Extension Plugin ,Hudson Seleniumhq plugin

点击系统管理->管理插件

在可选插件面板Filter中输入插件名,勾选复选框,点击直接安装,安装完成后重启Jenkins

三、重启后操作:

1.将job之间建立连接

可新增一个 Post-build Actions 来配置下一个需要构建的job

Trigger only if build is stable:只有本次构建成功才执行下一个job

Trigger even if the build is unstable:如果本次构建不稳定也可以执行下一个job,但是失败则停止构建

Trigger even if the build fails:就算本次构建失败也可以执行下一个job

2.配置自动化时间

在上步骤创建的job中添加自动执行时间表

打开job配置

勾选构建触发器的Build periodically

时间格式:* * * * *

*:分钟 小时 日 月 星期

*表示都

MINUTE Minutes within the hour (0–59)

HOUR   The hour of the day (0–23)

DOM    The day of the month (1–31)

MONTH  The month (1–12)

DOW    The day of the week (0–7) where 0 and 7 are Sunday.

*此处分钟我并不明白为什么不能写数字

PS:点击“?”可查看配置要求

3.配置Jenkins的邮件

进入系统管理->系统设置

配置邮件通知:

*之前使用了“使用SMTP认证”,反而无法发送邮件

配置Jenkins Location的系统管理员邮件地址:

配置默认邮件格式:

Extended E-mail Notification

主要修改:

Default Recipients:接收邮件地址,以“,”分隔

Default Subject:默认邮件主题

Default Content:默认邮件内容

修改job中的邮件发送配置

点击job名称,点击配置

*其他都可以按照默认的来,主要修改Triggers

在Add Trigger中添加Failure - Any , Unstable(Test Failures),在构建失败或不稳定时都会发送邮件,如果没有添加任何Trigger,将不会发送任何邮件出来

以上jenkins的配置完成了。

然后实现安装在Linux的Jenkins可以执行Windows下的selenium test case

一、配置Jenkins的Windows节点

1、点击左侧面板中:

系统管理->管理节点

2、点击左侧面板:新建节点

3、输入节点名称,选择Dumb Slave,点击OK

4、输入相关配置,点击save

# of executors:同时可运行的job数量,默认为1

远程工作目录:目标Windows的工作目录

标签:用来指定job以什么方式来进行构建

用法:选择“只允许运行绑定到这台机器的job”

启动方法:选择“Launch slave agents via Java Web Start”,Windows机器推荐选择该方法

* 其他可随意或默认

5、save成功后出现以下记录

6、配置Windows机器

在目标Windows目录中创建上述的远程工作目录:E:\Jenkins

点击机器名:Windows_demo,出现如下页面:

将Run from slave command line下的slave.jar下载到远程工作目录下,同时将Java命令复制到txt文件中,保存成bat文件。

双击bat文件,建立Windows与Jenkins之间的联系。

* 可将open_connecte.bat拖至win->all programs->startup,开机自启动

在管理节点中可看到连接信息(37与38就是上述过程创建的机器):

二、在远程工作目录中安装selenium-server

双击bat文件,建立Windows与Jenkins之间的联系后,会在E:\jenkins中出现workspace文件夹,用来存放job信息。

1、在workspace中创建用来存放test case的文件夹:Test_script

存放test case

*不要出现中文的文件名,存放suite格式的test case

2、下载selenium-server-standalone-2.47.1.jar存放至E:\jenkins\workspace

3、新建以Windows机器执行的job

点击Jenkins的新建,输入Item名称,选择“构建一个自由风格的软件项目”,点击OK:

项目设置中,勾选Restrict where this project can be run,同时在Label Expression中输入上述创建的标签,连接到刚刚建立的节点。

增加构建步骤方式一:选择SeleniumHQ htmlSuite Run:

配置SeleniumHQ htmlSuite Run:

browser:运行脚本的浏览器,可输入*firefox,*chrome,*iexplorer等

startURL:使用的tomcat路径

suiteFile:脚本路径

resultFile:测试结果保存路径,最好保存在workspace下

other:可配置端口号等

* 使用SeleniumHQ htmlSuite Run配置时还需配置全局配置

进入系统管理->系统设置

*该jar包是用来启动selenium的

增加构建步骤方式二:使用batch command

set datetime=%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%

java -jar E:\jenkins\workspace\selenium-server-standalone-2.47.1.jar -htmlSuite "*firefox" "http://localhost:8080/" "E:\Jenkins\workspace\test1\Test_script\login-suite.html" "E:\Jenkins\workspace\test1\%datetime%.html"

* datetime的设置,可以按照需要的方式设置,参考:

上述代码的主要功能为启动selenium,并且创建一个以当前日期时间为名的HTML文件,并将结果复制到该文件中。

* 需注意路径中不能出现空格,如需要出现空格,必须将路径用""包含

* 估计所有的Windows机器都使用同一个jar,需验证

最后一步,点击构建。

Selenium IDE 的用法可以参考网上的《selenium中文使用手册》

总结:

感谢每一个认真阅读我文章的人!!!

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

软件测试面试文档

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

 

          视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方进群即可自行领取。

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

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

相关文章

零基础,学6个月嵌入式,能找到工作吗?

今天看到一个老铁问,他报了个班,学6个月,学完能找到工作吗? 我看了下他的学习内容,包含C语言、数据结构、系统编程、网络编程、STM32、RTOS、物联网通讯协议、Linux内核驱动,这是大纲,细节的课程…

混合输入矩阵乘法的性能优化

作者 | Manish Gupta OneFlow编译 翻译|宛子琳、杨婷 AI驱动的技术正逐渐融入人们日常生活的各个角落,有望提高人们获取知识的能力,并提升整体生产效率。语言大模型(LLM)正是这些应用的核心。LLM对内存的需求很高&…

Haproxy介绍、安装

Haproxy介绍、安装 文章目录 Haproxy介绍、安装1.Haproxy介绍1.1 企业版1.2 社区版1.3 版本对比1.4 HAProxy功能 2.HAProxy安装2.1 主机初始化2.1.1 设置网卡名和ip地址2.1.2 配置镜像源2.1.3 关闭防火墙2.1.4 禁用SELinux2.1.5 设置时区 2.2 包安装2.2.1 Ubuntu 安装2.2.2 Cen…

透视B站财报:从前景看“钱景”

3月7日晚,哔哩哔哩发布了2023年度及第四季度财报。 财报显示,哔哩哔哩2023年总营收225亿元,净亏损同比大幅收窄49%,其中第四季度总营收达63.5亿元。 在后续电话会议上,哔哩哔哩管理层对市场上重点关注的“B站2024年能…

python界面开发 - Menu (popupmenu) 右键菜单

文章目录 1. python图形界面开发1.1. Python图形界面开发——Tkinter1.2. Python图形界面开发——PyQt1.3. Python图形界面开发——wxPython1.4. Python图形界面开发—— PyGTK:基于GTK1.5. Python图形界面开发—— Kivy1.6. Python图形界面开发——可视化工具1.7. …

在外包公司干了3年,出来发现技术退步太明显...

先说情况,大专毕业,18年通过校招进入湖南某软件公司,干了接近6年的功能测试,今年年初,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了3年的功能测试&#xff…

LoadBalancer 客户端的负载均衡器+openFeign 请求转发

LoadBalancer Spring Cloud LoadBalancer是Spring Cloud中负责客户端负载均衡的模块,其主要原理是从nacos中获取服务列表通过选择合适的服务实例来实现负载均衡。 源码跟踪 可以看到这里的intercept()方法,拦截了用户的HttpRequest请求,然…

【Spring云原生系列】Spring RabbitMQ:异步处理机制的基础--消息队列 原理讲解+使用教程

🎉🎉欢迎光临,终于等到你啦🎉🎉 🏅我是苏泽,一位对技术充满热情的探索者和分享者。🚀🚀 🌟持续更新的专栏《Spring 狂野之旅:从入门到入魔》 &a…

超级简单的Docker安装(centos7)

文章目录 先安装所需要的工具包设置远程仓库安装启动docker查看版本 先安装所需要的工具包 yum install -y yum-utils #安装工具包,缺少这些依赖将无法完成;设置远程仓库 yum-config-manager --add-repo https://download.docker.com/linux/centos/doc…

48、兰州大学、青海师范:专门用于深度CNNs的天阶斗技-ELA Local Attention

本文由兰州大学信息科学与工程学院、青海省物联网重点实验室、青海师范大学于2024年3.2日发表于ArXiv。为了解决现有的注意力模型在有效利用空间信息方面存在的限制和困难,提出了一种高效的局部注意力ELA模型。该方法通过分析坐标注意力的局限性,作者识别…

迈向未来:内部审计的数字化转型的道与术

目录 前言 一、内部审计的发展阶段 二、内部审计的逻辑架构 三、内部审计数字化转型面临的问题 四、内部审计数字化转型的框架方法 五、内部审计的数字化转型能力体系 六、内部审计的数字化转型路径 七、内部审计的数字化系统平台 前言 内部审计是一种独立的、客观的确…

upload-labs通关记录

文章目录 前言 1.pass-012.pass-023.pass-034.pass-045.pass-056.pass-067.pass-078.pass-089.pass-0910.pass-1011.pass-1112.pass-1213.pass-1314.pass-1415.pass-1516.pass-1617.pass-1718.pass-1819.pass-19 前言 本篇文章记录upload-labs中,所有的通过技巧和各…

树莓派(Raspberry Pi)常见的各种引脚介绍

本文将为您详细讲解树莓派(Raspberry Pi)常见的各种引脚,以及它们的特点、区别和优势。树莓派是一款非常受欢迎的单板计算机,它拥有多个 GPIO(通用输入输出)引脚,这些引脚可以用于各种电子项目和…

网站建设大概需要多少钱?费用是多少?怎么样

1、网站建设详细报价单。 建立一个网站需要多少钱? 公司不同,地点不同,技术不同,需求不同,价格也不同。 1、不要尝试用几百块钱建立一个网站,2、几千块做一个普通的网站,3、几万块做一个更好的…

代码随想录第52天| ● 392.判断子序列 ● 115.不同的子序列

文章目录 ● 392.判断子序列思路代码: ● 115.不同的子序列思路:代码: ● 392.判断子序列 思路 递推顺序:从上到下 从左到右 代码: class Solution {public boolean isSubsequence(String s, String t) {int[][]dpn…

两两交换链表中的节点+力扣

题目 题目链接 . - 力扣(LeetCode) 题目描述 代码实现 class Solution { public:ListNode* swapPairs(ListNode* head) {if(head nullptr || head->next nullptr) return head;ListNode *tmpHead swapPairs(head->next->next);ListNode …

Vue | 基于 vue-admin-template 项目的跨域问题解决方法

目录 一、现存问题 二、解决方法 2.1 修改的第一个地方 2.2 修改的第二个地方 2.3 修改的第三个地方 自存 一、现存问题 报错截图如下: 二、解决方法 2.1 修改的第一个地方 在 .env.development 文件中: # base api # VUE_APP_BASE_API /d…

瑞芯微 | I2S-音频基础 -1

最近调试音频驱动,顺便整理学习了一下i2s、alsa相关知识,整理成了几篇文章,后续会陆续更新。 喜欢嵌入式、Li怒晓得老铁可以关注一口君账号。 1. 音频常用术语 名称含义ADC(Analog to Digit Conversion)模拟信号转换…

使用java批量写入环境变量

环境需求 jdk版本&#xff1a;1.8 jna依赖&#xff1a; <dependency><groupId>net.java.dev.jna</groupId><artifactId>jna</artifactId><version>5.10.0</version></dependency><dependency><groupId>net.java.…

一起来读李清照

当然先祝各位女生节日快乐&#x1f381;&#x1f381;啦​。​ 但是呢&#xff0c;今天&#xff0c;我们不聊技术&#xff0c;来聊点其他的。 大家都知道今天是三八妇女节&#xff0c;三八妇女节的是中国人的叫法&#xff0c;也叫国际妇女节。是为了纪念妇女权利的运动&#…