持续集成 基于 python 的自动化测试框架如何部署到服务器端的 jenkins 中执行定时任务

john · 2017年10月31日 · 最后由 john 回复于 2017年11月08日 · 2955 次阅读

说下情况,目前个人在本地完成了自动化框架的搭建(pycharm+python)及脚本的编写,在本地也安装了本地的 jenkins 并设置了定时任务,可正常定时执行。现为了方便管理,需将本地环境迁到服务器端,目前公司的 jenkins 是部署在 linux 环境中,之前自己写的自动化框架源码已提交 svn 进行管理,按照正常情况,只需要执行框架中的 run.py 脚本即可运行所需执行用例,但目前部署到 linux 端是不是需要将之前 windows 端的所有环境都需要部署安装一遍?包括 python 环境、python 使用的类库等 ,然后 jenkins 配置中直接配置脚本执行路径即可?如下图:
希望有这方面经验的大神可以提供下思路,谢谢!

共收到 14 条回复 时间 点赞

刚好前段时间写了一篇相关的文章《Jenkins 集成 taffy 进行自动化测试并输出测试报告》,发你参考下:
http://lovesoo.org/jenkins-integrated-taffy-for-automated-testing-and-output-test-reports.html

注:这个方法是通过 windows 节点机器运行测试代码,好处是不需要重新在 linux 上部署环境,如果是需要在 linux 机器上运行测试代码的话,需要部署相关的环境,最后通过 ssh 远程连接 linux 机器运行测试代码即可

john #1 · 2017年10月31日 Author
Joo 回复

你这套方案是还需要准备 windows 服务器?

john 回复

不是,本机啊~我的本机是 windows 10

john #4 · 2017年10月31日 Author
Joo 回复

那运行环境还是要在本地啊,如果后续定时任务跑的时候,本机还必须是保持开机状态吗

john 回复

是的,所以最好是在你的 linux 环境上部署了~

脚本里面准备一个 requirements.txt 把所有的依赖都写进去。所有的 slave 机器上都安装好 python 以及 virtualenv. 运行任务之后,先创建一个 virtualenv 环境,然后安装依赖,运行测试。我目前是这样弄的

john #7 · 2017年10月31日 Author
Joo 回复

嗯,现在就是不清楚 linux 上具体该怎么配置

john #7 · 2017年10月31日 Author
codeskyblue 回复

能具体一些吗,谢了🙏

john 回复

你先谷歌查查,已经说的很详细了

你先试下直接在 Linux 服务器上执行 Python run.py 看能否执行成功,如果不行就看是否模块没安装好,如果可以,就可以配到 Jenkins 了。

我的理解 Jenkins 里只是一个调用,前提是你的命令本身是可运行的。

john #11 · 2017年11月02日 Author
Jerry li 回复

已经试过了 是可以运行的,是不是现在只需要写个脚本,把拉取 svn、获取到对应的 python 执行脚本、运行后提交至 svn 这些操作写在 shell 脚本中,在 jenkins 配置中设置执行该脚本即可

john #12 · 2017年11月07日 Author
Jerry li 回复

现在遇到了个新问题,就是在 linux 中 python 环境及相关模块已安装好,然后把框架代码及测试脚本也通过 svn 同步到 linux 中的相关目录下。这时候运行脚本后在报告 report 目录中查看运行的结果 显示为空,如下图:,而同样的脚本在 windows 下运行是正常的,这个还知道是什么问题嘛?谢了

john 回复

检查下你的脚本目录是否正确吧
最好截个图,不然别人没办法帮你检查的

john #14 · 2017年11月08日 Author
Jerry li 回复

重新开了这个帖子https://testerhome.com/topics/10753

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册