背景
- 微服务架构,注册中心使用的Eureka
- 所有微服务都是通过Jenkins构建
目的
- 在服务构建完成后,自动触发服务接口测试job的构建(如果:服务A构建完成后,自动触发接口自动化job,且只检测服务A对应的接口)。
实现过程
-
接口测试脚本准备(支持命令行传参执行) python写的测试启动脚本,同一个服务下的接口为一个测试集,通过sys,getopt模块支持命令行带参数执行。 最终脚本执行命令格式:python run.py -m [service name]。 -
Jenkins集成接口测试脚本(参数化构建) 这一步比较简单,加一个参数构建,选择“字符参数” -
通过Shell命令来执行构建
- job间带参数触发
- Jenkins安装插件:Parameterized Trigger
- 服务A对应的job增加一个构建后的步骤:Trigger parameterized build on other projects
?至此,多job间带参数触发就完成了。
遗留问题 Jenkins知道服务构建是否成功,但不知道服务是不是启动成功并注册到Eureka了,所以在服务构建完成后,到测试脚本执行需要有个间隔时间。每个服务启动的耗时是不一样的,写死的间隔时间显然不是一个好办法。目前想到的是通过Eureka提供的api来处理。
最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走
这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。希望对大家有所帮助…….
|