python+unittest 接口自动化配置linux jenkins构建

1.在linux服务器上下载接口脚本中使用到的插件,如requests,我们服务器上有两个python版本,我的脚本是py3的,所以要指定下载,如下

[10:56 root@cctest200 ~]# pip install -t /usr/local/lib/python3.6/site-packages/ requests

2.脚本上传gitlab,上传命令请参考我上一篇博客

3.jenkins创建一个自由风格的项目,源码管理选择git,贴上你的仓库地址

4.execute shell,第一行可能要根据各公司的路径不同做调整,第二行是你要运行的脚本路径--这里我有一车的话要讲,等下看最后

a925396844b3e805b8758dde95e4bacea0a.jpg

5.jenkins 下载html report 插件,第一行写你报告存放的文件夹名称(相对路径),我这里默认的是

/home/jenkins/workspace/huj_paycenter/report

第二行是默认的报告名称,这里建议不要改动,并且把你生成的报告名称改成一模一样的,每次生成报告后覆盖;不要搞成test+时间之类的,亲测可能报404错误;page tiltle随便写,最后一行不用动;我对路径这个真的不熟,以至于我觉得在pycharm上运行没问题,搬到服务器上也一样ok了(天真),昨天反复测试,发现运行虽然没报错,但是始终没产生最新的报告,就在于我这个./report写成了 report以至于一直获取不到最新的报告

补充另外一个原因,execute shell里的路径也可能写错了,比如我们测试自己新建了一个jenkins,需要把代码从旧的移到新的来,旧的路径是jenkins/workspace,而新的则是jenkins1/jobs/workspace,这些小细节一定要注意了,因为不会报错,要自己细细的查看

f7055d2e1f41fa7958b3376311f19ee689c.jpg

6.构建成功后打开html报告查看格式,很可能你会看到css样式丢失的样子,不美观,这里先给一条临时方案

在jenkins--系统管理--脚本命令行里输入:System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")。点击运行

 

62715ffea1e912dda10dbfa1e870aaf3e18.jpg

 

然后再重新构建接口脚本,再次打开html报告即可查看完美报告

9e021289e4261ab37bc6e53f308856e7c36.jpg

2

19a558104abaac65ea10d2eef7fb866bd93.jpg

好啦,现在接第4条接着埋汰自己,可以看到我在execute shell里写了多行但注释掉了,原因就是我运行runtestcase时没有报错,但是运行结果是

84aa0388b2705f1f070645d12087cc7520b.jpg

觉得real困惑,因为在pycharm里运行的很6,完全没有问题;后来请教了大神才知道是因为我没有指定runtestcase里导入文件的路径,jenkins构建时找不到这些文件,当然就不会运行了(但你为什么不报错?)

当我们导入一个模块时:import xxx,默认情况下python解析器会搜索当前目录、已安装的内置模块和第三方模块,搜索路径存放在sys模块的path中:这就是为啥你在pycharm里没问题,因为它都给你设置好了,但搬到服务器上不会,所以你需要明确指定你导入的这些文件的路径

比如,下方圈起来的这些我原本写的是相对路径,比如../payApi什么的,但是放服务器上就不行了,你必须要写清楚

***获取上级目录***

print(os.path.abspath(os.path.dirname(os.getcwd())))

运行结果是/Users/queena/PycharmProjects/payCenter,大的路径指明了,你的import才能顺着找到相关的文件

651cce0b8c6fe556187476ec48556416340.jpg

然后你的运行命令很简单,指明要执行的python3 版本及文件即可

32ec922293d2365bfe854a532af6a806af1.jpg

还是要多动手多实践,不然好东西你都不知道自己一点都不懂!

 

再补充一个小技巧,jenkins有钉钉通知的插件,我们可以在这个通知链接上做文章,让通知到群里的链接可以直接被打开然后查看报告,默认的链接是域名(ip)/jenkins,我们在后面再拼上报告的链接,记得一定要加上?因为jenkins构建成功后的通知会自动给你加上http://127.0.0:8010/jenkins/job/huj_paycenter/HTML_20Report/job/huj_paycenter/58/  20report 后面的那一串job~~~~~~,导致直接点击群通知的链接时404,

f9d731463c7ed4f3302143ad46cf067f0f0.jpg

加上?自定义参数后就不会有这个问题了,可以直接打开

66c616b32d153cbc9dc0441fa82abb69aa6.jpg

转载于:https://my.oschina.net/EvanDev/blog/3046980

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值