第三:jenkins集成httpclient项目并生成在线报告(接口自动化落地)
主要讲解项目的业务代码在写完后,如果集成至jenkins。
实现思路:一般情况下,jenkins是配置git地址,然后直接调用git的代码,打包并进行测试。但是我在实现过程中,由于公司的gitlab做了限制,必须使用SSH key的方式进行代码拉取,然后在拉代码的过程中,因为jenkins默认的admin用户和我原本上传代码的root用户权限不一致,导致也无法成功拉取代码,所以换了一种解决方案:先通过git命令将代码拉至jenkins的目录下,然后直接使用jenkins去执行拉下来的代码。
这样的弊端在于,本地一共有两套代码,一套是正常的项目,一套是jenkins目录下专门用于jenkins执行的代码(不直接将jenkins文件内的代码作为正常项目存放地址的原因,也是因为权限问题),所以如果不是公司的git有特殊限制的情况下,不建议这样做。
在执行下面的流程之前,需要完成两件事:
1.将项目代码上传至git
2.安装tomcat
实现过程:
1.新建自由风格项目,在构建部分使用shell执行
执行以下命令:
cd ~/test //打开根目录
git pull //从git上拉取代码
cd ApiTest //打开项目文件
//因为前文提到的权限问题,这里只能使用sudo命令,而且mvn得使用绝对路径
sudo /Applications/apache-maven-3.5.3/bin/mvn clean test
保存,然后执行此时应该可以运行成功
2.配置Tomcat并启动
因为jenkins一般是部署在linux上,生成的报告其他用户无法直接查看,tomcat作为一个web中间件,将jenkins生成的报告拷贝至tomcat服务上,用以让其他用户进行查看。
下载完成后,因为tomcat默认的端口号是8080,与jenkins冲突了,所以我们首先在conf文件下的server.xml文件中配置tomcat的默认端口号
cd ~/apache-tomcat-9.0.10/conf
vim server.xml
找到如下部分:
将默认的8080修改为可用端口号,在这里我修改为8088,保存后退出。
切换至bin目录下,执行startup.sh文件,启动tomcat。
此时浏览器访问localhost:8088,可以看到tomcat启动成功!
3.将jenkins生成的测试报告拷贝至tomcat
在jenkins的工程配置部分,shell中添加以下语句
//获取最后一次构建的id
result=$(curl -s http://10.106.10.184:8080/job/JavaApiTest/lastBuild/buildNumber --user admin:admin)
//tomcat目录下新建文件用以保存测试报告
sudo mkdir /Applications/apache-tomcat-9.0.10/webapps/ROOT/$result
//将jenkins生成的目录拷贝至tomcat内
sudo cp /Users/Shared/Jenkins/test/ApiTest/test-output/index.html /Applications/apache-tomcat-9.0.10/webapps/ROOT/$result/index.html
然后构建项目,执行完,构建成功~
然后访问tomcat:http://10.106.10.184:8088/65/index.html,可以看到生成的报告
在这里说明一下,为什么要用tomcat。如果不用tomcat,直接访问jenkins生成的报告也是可以的,但是一般jenkins会部署在linux服务器上,无法直接访问或者访问需要权限。tomcat作为一个web中间件,浏览权限是公开的。
第三:jenkins集成httpclient项目并生成在线报告(接口自动化落地)相关推荐
- httpclient封装获取响应实体_Httpclient 接口自动化
好久木写啦!!!好久木写啦!!! 心血来潮分享点小白的东西!!! 废话少说直接干货!!! 本文核心是将如何从数据驱动开始,以报告结尾的形式来实现"很多刚入行朋友们"所需要的接口自动 ...
- python自动生成word报告_python自动化生成分析报告,让你的工作效率提升10倍+
打开搜狗搜索APP,查看更多精彩资讯 如果你每天都需要输出分析报告,报告模式基本一致,只是更换里面的分析数据,每天重复着同样的工作,费时费力,工作能力没有丝毫的提升,但是如果你学过python,你就可 ...
- 字节跳动抖音研发---测试开发三面---面经(附答案)【接口/自动化/web】测试面试题
目录 一:前言 [文章的末尾给大家留下了大量的福利哦.] 一.为什么连接的时候是三次握手,关闭的时候却是四次握手? 二.TCP 连接为 什么 C lient 会在发送出 ACK 之后进入到 TIME_ ...
- 第二:HttpClient+testNG实现对接口的测试及校验(接口自动化落地)
本篇文章将以登录举例进行测试执行. 这是之前login接口的代码 @Test(groups = "loginTrue",description = "用户登录接口测试&q ...
- jmeter添加html,Jmeter 报告可视化 —— 配置生成测试报告仪表板,Jmeter + Jenkins 自动化构建生成 HTML 报告...
目录 一.jmeter报告仪表板相关信息 二.文件修改说明 三.jmeter.properties文件配置 四.user.properties文件配置 五.新建jtl报告目录 六.复制jmeter.p ...
- 【二十三】win 10 :Jmeter 报告可视化 —— 配置生成测试报告仪表板,Jmeter + Jenkins 自动化构建生成 HTML 报告
目录 一.jmeter报告仪表板相关信息 二.文件修改说明 三.jmeter.properties文件配置 四.user.properties文件配置 五.新建jtl报告目录 六.复制jmeter.p ...
- 全网最全持续集成接口自动化-jmeter+ant+jenkins
ant 批量执行Jmeter 一.环境准备 1.JDK环境:Java Downloads | Oracle 2.ANT环境:Apache Ant - Binary Distributions 3.Jm ...
- 持续集成接口自动化-jmeter+ant+jenkins(一)
ant 批量执行Jmeter 一.环境准备 1.JDK环境:http://www.oracle.com/technetwork/java/javase/downloads/index.html 2.A ...
- Yaml版接口自动化详细讲解(Python + pytest + allure + log + yaml + mysql + redis + 钉钉通知 + Jenkins)
目录 框架介绍 框架结构 框架功能讲解 common # 配置 config.yaml # 公共配置 setting.py # 环境路径存放区域 data # 测试用例数据 Files # ...
最新文章
- Kotlin实战指南四:区间
- 黑马程序员—java基础总结1
- IDEA Java Web 推送Tomcat
- 【HDOJ】【3037】Saving Beans
- Linux 30岁了~我们也老了
- LeetCode 12/13 罗马数字与整型互转(哈希,贪心)
- QQ浏览器如何开启夜间模式 夜间模式使用技巧分享
- PHPCMS V9 为今天或几天前文章加new
- Spring MVC小DEMO
- Windows环境下Android NDK环境搭建
- php简单混淆类加密文件如何解密?
- hadoop中4种压缩格式的特征的比较
- matlab画坐标系,Matlab如何绘制十字坐标系??
- 静态ip设置失败解决办法
- 威金蠕虫(网吧杀手)肆虐互联网 九千用户十余企业遭攻击
- javascript 域名合法性检测
- 几百字道尽华夏无千年。
- 卿学姐与诡异村庄(并查集)
- Unity 5.6正式版发布,Unity 2017即将来临
- 微信小程序上滑加载下拉刷新(onscrollLower)分批加载数据 下篇
热门文章
- 利用navicat for mysql实现mysql数据库表结构复制
- WIFI 网络操作--------------------笔记
- truncate,delete,drop的异同点
- GridView页脚汇总(统计)行的方法(.net 2.0)
- 支付宝小程序封装请求
- asp类型转换函数汇总 转贴
- RabbitMQ环境搭建教程收集(待实践)
- Oracle 安装报错 [INS-06101] IP address of localhost could not be determined 解决方法[转]
- WEB.NET error:请添加一个名为 jquery (区分大小写)的 ScriptResourceMapping 解决方案
- Altium Designer中PCB关于Import Changes报错最终解决方案