说下情况,目前个人在本地完成了自动化框架的搭建(pycharm+python)及脚本的编写,在本地也安装了本地的 jenkins 并设置了定时任务,可正常定时执行。现为了方便管理,需将本地环境迁到服务器端,目前公司的 jenkins 是部署在 linux 环境中,之前自己写的自动化框架源码已提交 svn 进行管理,按照正常情况,只需要执行框架中的 run.py 脚本即可运行所需执行用例,但目前部署到 linux 端是不是需要将之前 windows 端的所有环境都需要部署安装一遍?包括 python 环境、python 使用的类库等 ,然后 jenkins 配置中直接配置脚本执行路径即可?如下图:
希望有这方面经验的大神可以提供下思路,谢谢!
刚好前段时间写了一篇相关的文章《Jenkins 集成 taffy 进行自动化测试并输出测试报告》,发你参考下:
http://lovesoo.org/jenkins-integrated-taffy-for-automated-testing-and-output-test-reports.html
注:这个方法是通过 windows 节点机器运行测试代码,好处是不需要重新在 linux 上部署环境,如果是需要在 linux 机器上运行测试代码的话,需要部署相关的环境,最后通过 ssh 远程连接 linux 机器运行测试代码即可
脚本里面准备一个 requirements.txt 把所有的依赖都写进去。所有的 slave 机器上都安装好 python 以及 virtualenv. 运行任务之后,先创建一个 virtualenv 环境,然后安装依赖,运行测试。我目前是这样弄的
你先试下直接在 Linux 服务器上执行 Python run.py 看能否执行成功,如果不行就看是否模块没安装好,如果可以,就可以配到 Jenkins 了。
我的理解 Jenkins 里只是一个调用,前提是你的命令本身是可运行的。
已经试过了 是可以运行的,是不是现在只需要写个脚本,把拉取 svn、获取到对应的 python 执行脚本、运行后提交至 svn 这些操作写在 shell 脚本中,在 jenkins 配置中设置执行该脚本即可
现在遇到了个新问题,就是在 linux 中 python 环境及相关模块已安装好,然后把框架代码及测试脚本也通过 svn 同步到 linux 中的相关目录下。这时候运行脚本后在报告 report 目录中查看运行的结果 显示为空,如下图:,而同样的脚本在 windows 下运行是正常的,这个还知道是什么问题嘛?谢了