python+svn+jenkins的自动化测试集成

1.在SVN上创建自动化测试脚本的目录,比如:APITest

2.在pycharm中点击File->Settings->Version Control->Subversion->选择解释器svn.exe->勾选“Use custom configuration directory”,并选择SVN的安装路径下的bin

3.若解释器svn.exe在bin文件夹下不存在,则重新打开TortoiseSVN安装包,并选择Modify->command line client tools->选择下拉框中第一项->点击next按钮,即可安装成功,即生成svn.exe

4.在pycharm点击菜单中的VCS->Enable Version Control Integration->选择Subversion->点击ok按钮

5.添加已有项目:VCS->Import into Version Control-> Import  intoSubversion->点击加号,输入svn上项目的url->在svn上新建的文件夹APITest中存放脚本文件,选中该文件夹,并点击important按钮

扫描二维码关注公众号,回复: 8706640 查看本文章

6.查看SVN上是否已成功上传项目,PC项目目录和SVN上项目目录如下:

7.在jenkins上新建一个任务->选择自由风格->在源码管理中选择SVN,并在URL中输入脚本路径和登录账号信息->添加定时构建,配置定时执行的时间(也可以不定时,直接构建)->构建时选择“执行windows批处理命令”,并输入搭建jenkins的那台服务器上的workspace路径下的脚本路径(注意:路径一定要写workspace下的项目路径!!!)->立即构建

备注: 路径:jenkins下的workspace+jenkins任务名称+所执行脚本所在目录,因为jenkins在构建任务时会自动把svn上的代码下载到本地的workspace里

8.运行结果和报错如下:(失败了o(╥﹏╥)o)

9.经网上查询,需要在运行脚本中加入当前目录(代码如下),因为python程序中使用import导入某模块时,python解析器会在当前目录、已安装和第三模块中搜索该模块,如果都搜索不到,就会报错。因此使用sys.path.append()方法可以临时添加搜索路径,方便简洁的import其他包和模块。

import sys
import os

# 加入当前目录
curPath = os.path.abspath(os.path.dirname(__file__))
rootPath = os.path.split(curPath)[0]
sys.path.append(rootPath)

10.在jenkins上重新构建该任务,结果如下:(成功了(*^▽^*))

备注:所执行的脚本内容是:执行所有用例并发送电子邮件

11.若import脚本至SVN上后,想要更新代码至SVN,是不可行的。提示如下:

因为只有先checkout代码至pycharm后,才能更新至SVN,所以解决方案如下:

1)在SVN上新建一个文件夹,该文件夹与项目名称一致(否则上传时仅上传项目名称下的所有文件夹和文件);

2)把pycharm中该项目import至SVN上;

3)从SVN上checkout项目至pycharm中;

4)修改某脚本文件后(文件名称会变成蓝色),更新至SVN上

5)若SVN上更新了文件(别人提交或修改的文件),则点击如下按钮,可直接更新至本地

12.重复提交相同路径的代码至SVN上时,报错:failed: 405 Method Not Allowed

    解决方案:在SVN新建一个文件夹,重新上传

发布了26 篇原创文章 · 获赞 24 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/changyixue/article/details/90598319