栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

pytest+jenkins+gitlab+excel接口自动化测试框架

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

pytest+jenkins+gitlab+excel接口自动化测试框架

pytest+jenkins+gitlab+allure+excel接口自动化

因为自己从事大数据方面的测试,深感功能测试的局限性。趁着公司有很多的机器资源自己就整了整自动化方面的,刚开始一直在pycharm上本地跑,感觉确实挺简单的,但是想想将来找工作难道领导让你在本地跑吗?想一想后就着手jenkins+gitlab来部署。本次讲解的是部署到docker容器里的,如果嫌麻烦直接部署到linux服务器也行,但是以后项目迁移就麻烦了。

一、gitlab新建项目

1、新建一个自动化测试项目,把本地代码实时推送到这里,用于jenkins构建。

2、新建项目完成后,默认是master分支,是一个空项目,下面展示是后期代码上传的

二、pycharm添加gitlab仓库

1、打开pycharm项目列表页,点击右上角的get from vcs

2、输入刚才giltlib的项目地址,然后点击clone拉取代码


3、项目创建成功后,项目名称就是gitlab上的项目名称。另外pacharm的拉代码,合代码,推送代码,新建分支,切换分支如果有不明白的可以看看相关专题,其实不难,因为新手用的地方并不多。

三、pytest框架设计

先把项目的雏形构思出来,需要哪些组件,模块,工具类,考虑完整后创建完整的项目目录,按照计划来填充项目,目前为了演示,项目结构不是很丰富,大家请谅解。

1、目录设计
common:二次封装,类似于request,sendemail,log等方法
config:存储一些配置信息,比如ip,用户名,密码,环境信息等
data:存放用例,excel,也可以换成yaml,表格更直观
report:allure报告存放的地方,allure先把测试结果数据josn存放在result内,生成报告时allure再把json数据转换成html数据,这时候就可以通过网页打开查看报告
script:用例执行器
untils:存放常用工具,例如获取路径,操作文件,读取yaml,读取表格等方法
runALL:用pytest来执行script里的py文件

2、request方法封装

3、用例设计
参数都是有用的,至于怎么设计都可以,看你的需求。
①module、title、description,这三个参数既可以划分用例,也可以传给allure,丰富报告的信息
②method、url、headrs、params,接口请求要素
③isextract,extractparams,本次接口请求的response需不需要提取结果参数,你可以通过jsonpath把提取的数据放在全局环境变量文件env里,也可以新建一个json文件放里面也行,传递参数时通过template方法,把需要传递的参数替换掉就行
④expect,msg,用于断言
⑤iswaiting ,因为有的接口相应很慢,比如或安装什么服务,主机什么的,很耗时间,得等。所以我设置了一个等待时间,其实也可以轮询查库。

4、执行器
写的比较简单,log,fixtrue等其他内容被我删了,只保留了用例执行功能

5、工具类
工具比较多,看自己的需求来写,篇幅关系就随便展示一个,读取表格的方法.
xlrd插件高版本有问题读不了xlsx,需要把版本降到1.2.0,默认下最高版本2.0.1

6、驱动器
意思通过pytest执行script目录下所有python程序,我只写了一个test_main。

四、配置本地allure

allure生成报告,需要本地启动allure服务,网上下载一个allure-2.7.0版本的,放在桌面就可以,配置下mac的环境变量,windows怎么配置的可以网上查下

五、运行runALL.py文件

运行成功,报告数据也成功生成,

六、查看本地allure报告

选择index.html,用浏览器打开就行

七、安装jenkins和job参数配置

如果安装到服务器上直接用yum来安装,如果用docker环境的话则先在服务器上安装docker,再用docker pull 拉取jenkinsci/ocean镜像,拉取后修改容器的端口的映射和磁盘映射(类似文件挂载),端口映射用于网页端访问jenkins,磁盘映射用户存放python环境,因为docker的容器里是虚拟存储,如果容器没了,你的Python导的包和其他文件都没了,所以映射一个物理磁盘存储,例如宿主机的磁盘。

1、安装完成
安装完成后需要到指定路径下去找到password,这个密码在jenkins安装完成后存放在服务器的固定位置上,如果用docker安装的jenkins,密码存放在容器哪里,网上查。


2、新建job,选自由风格的就行


3、添加gitlab地址、登录信息、分支名称,这个配置完成后去点击构建一下,发现workspace(工作空间)会拉取到gitlab上的代码。

4、shell脚本,上面有一个sshlite,是连接到宿主机用的,让宿主机来执行python程序,因为做教程忘记磁盘映射了,只能连接到宿主机来完成了。这个ssh lite正常情况不展示,需要先去jenkins插件库去下载ssh插件,然后去系统设置里配置ssh,然后再在job配置里引用。shell语句根据实际情况来写,如果您是用服务器yum安装的,或者docker安装已经做磁盘映射的则可以直接找到runALL文件执行就好了,不需要ssh连接到宿主机(cd 目录 python3 runALLpy);下面shell因为我连接到了宿主机所以麻烦点


4、allure插件安装
jenkins集成了allure插件,去插件库下载就行,其作用就是替代之前我们在本地运行时,桌面上的那个allure文件。

5、配置allure,Global Tool Configuration里面配置,别名随便起,版本随便选。

6、job里的allure配置, 这里配置意思就是测试结果数据放在哪?生成的html数据放在哪?其实跟runALL.py文件里的两个命令作用是一样的,但是为什么jenkins上没有写全路径呢,而只写了report/result,因为默认当前路径是workspace,意思就是放在workspace路径下。既然jenkins的allure插件取代了本地allure,那么本地就没必要再执行了,把两行命令注释了就可以,否则jenkins插件执行了一遍,代码又执行了一遍。


7、job参数配置完成后点击构建即可

八、查看jenkins的allure报告

1、点击job后面的图表就能打开allure报告,jenkins集成的报告会实时统计你的历史构建数据,更加的实用,allure的用例怎么分模块分组去展示,还有更改allure的系统图标方法详情可以网上看看,功能很强大。

九、感想

做的东西比较简陋,大部分原因是删减版,而且本人入坑也没多久,在运维小哥旭东的帮助下,慢慢把流程走通,自己也学会了不少容器方面的知识,非常感谢!同学们如果有什么不满意的地方,敬请评论,一一解答,我不会的会帮你问问。

文章原创,实属不易,转载请注明

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/757537.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号