主要讲解项目的业务代码在写完后,如果集成至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项目并生成在线报告(接口自动化落地)相关推荐

  1. httpclient封装获取响应实体_Httpclient 接口自动化

    好久木写啦!!!好久木写啦!!! 心血来潮分享点小白的东西!!! 废话少说直接干货!!! 本文核心是将如何从数据驱动开始,以报告结尾的形式来实现"很多刚入行朋友们"所需要的接口自动 ...

  2. python自动生成word报告_python自动化生成分析报告,让你的工作效率提升10倍+

    打开搜狗搜索APP,查看更多精彩资讯 如果你每天都需要输出分析报告,报告模式基本一致,只是更换里面的分析数据,每天重复着同样的工作,费时费力,工作能力没有丝毫的提升,但是如果你学过python,你就可 ...

  3. 字节跳动抖音研发---测试开发三面---面经(附答案)【接口/自动化/web】测试面试题

    目录 一:前言 [文章的末尾给大家留下了大量的福利哦.] 一.为什么连接的时候是三次握手,关闭的时候却是四次握手? 二.TCP 连接为 什么 C lient 会在发送出 ACK 之后进入到 TIME_ ...

  4. 第二:HttpClient+testNG实现对接口的测试及校验(接口自动化落地)

    本篇文章将以登录举例进行测试执行. 这是之前login接口的代码 @Test(groups = "loginTrue",description = "用户登录接口测试&q ...

  5. jmeter添加html,Jmeter 报告可视化 —— 配置生成测试报告仪表板,Jmeter + Jenkins 自动化构建生成 HTML 报告...

    目录 一.jmeter报告仪表板相关信息 二.文件修改说明 三.jmeter.properties文件配置 四.user.properties文件配置 五.新建jtl报告目录 六.复制jmeter.p ...

  6. 【二十三】win 10 :Jmeter 报告可视化 —— 配置生成测试报告仪表板,Jmeter + Jenkins 自动化构建生成 HTML 报告

    目录 一.jmeter报告仪表板相关信息 二.文件修改说明 三.jmeter.properties文件配置 四.user.properties文件配置 五.新建jtl报告目录 六.复制jmeter.p ...

  7. 全网最全持续集成接口自动化-jmeter+ant+jenkins

    ant 批量执行Jmeter 一.环境准备 1.JDK环境:Java Downloads | Oracle 2.ANT环境:Apache Ant - Binary Distributions 3.Jm ...

  8. 持续集成接口自动化-jmeter+ant+jenkins(一)

    ant 批量执行Jmeter 一.环境准备 1.JDK环境:http://www.oracle.com/technetwork/java/javase/downloads/index.html 2.A ...

  9. Yaml版接口自动化详细讲解(Python + pytest + allure + log + yaml + mysql + redis + 钉钉通知 + Jenkins)

    目录 框架介绍 框架结构 框架功能讲解 common  # 配置 config.yaml  # 公共配置 setting.py  # 环境路径存放区域 data  # 测试用例数据 Files  #  ...

最新文章

  1. Kotlin实战指南四:区间
  2. 黑马程序员—java基础总结1
  3. IDEA Java Web 推送Tomcat
  4. 【HDOJ】【3037】Saving Beans
  5. Linux 30岁了~我们也老了
  6. LeetCode 12/13 罗马数字与整型互转(哈希,贪心)
  7. QQ浏览器如何开启夜间模式 夜间模式使用技巧分享
  8. PHPCMS V9 为今天或几天前文章加new
  9. Spring MVC小DEMO
  10. Windows环境下Android NDK环境搭建
  11. php简单混淆类加密文件如何解密?
  12. hadoop中4种压缩格式的特征的比较
  13. matlab画坐标系,Matlab如何绘制十字坐标系??
  14. 静态ip设置失败解决办法
  15. 威金蠕虫(网吧杀手)肆虐互联网 九千用户十余企业遭攻击
  16. javascript 域名合法性检测
  17. 几百字道尽华夏无千年。
  18. 卿学姐与诡异村庄(并查集)
  19. Unity 5.6正式版发布,Unity 2017即将来临
  20. 微信小程序上滑加载下拉刷新(onscrollLower)分批加载数据 下篇

热门文章

  1. 利用navicat for mysql实现mysql数据库表结构复制
  2. WIFI 网络操作--------------------笔记
  3. truncate,delete,drop的异同点
  4. GridView页脚汇总(统计)行的方法(.net 2.0)
  5. 支付宝小程序封装请求
  6. asp类型转换函数汇总 转贴
  7. RabbitMQ环境搭建教程收集(待实践)
  8. Oracle 安装报错 [INS-06101] IP address of localhost could not be determined 解决方法[转]
  9. WEB.NET error:请添加一个名为 jquery (区分大小写)的 ScriptResourceMapping 解决方案
  10. Altium Designer中PCB关于Import Changes报错最终解决方案