Centos7 搭建开源的Restful Api 集成测试工具 Hitchhiker

    一般在公司的协同开发中,api是作为重中之中,除了有一个api的管理工具外,还会需要一个api的测试工具,用来模拟请求测试返回数据等,在api管理上,我们可以用rap或rap2,详细请参考《centos7 搭建最新的RAP2接口管理工具并导入原rap旧数据》

    而接口测试工具,一般大部分人都是用postman,但是postman只是一个个人工具,无法在团队协作中起到很好的作用,而这里就介绍一个好用的接口测试工具,Hitchhiker, 界面类似于postman好上手,且可以在团队中以项目的形式进行共用,提高协助效率。 下面就详细将一下,如何在本地服务器上搭建一个hitchhiker服务供公司团队使用。

 

1. 基础环境要求

hitchhiker的github官方地址:https://github.com/brookshi/Hitchhiker

搭建的环境要求: 

nodejs 7.60+

mysql 5.7+    

这些环境的安装这里就不赘述了,不会的请参考《Centos7.2 通过yum安装Mysql5.7》和上面的rap2的搭建文档,其中有nodejs的安装。

 

2. 下载安装包

Centos7 搭建开源的Restful Api 集成测试工具 Hitchhiker_第1张图片

# 下载安装包
wget https://github.com/brookshi/Hitchhiker/releases/download/v0.14/Hitchhiker.zip

# 解压安装包
unzip Hitchhiker.zip -d Hitchhiker

 

3. 直接运行安装界面服务

# 开放安装的web服务端口
firewall-cmd --add-port=9527/tcp --permanent
firewall-cmd --reload    

# 启动服务,在Hitchhiker文件夹内
cd build
node setup.js

 

    运行完node setup.js后,shell界面就会卡着但是没有任何输出,这是已经开启了安装的web端服务,在浏览器中输入如下地址:http://ip:9527/setup_cn.html  打开安装界面。当然,在此之前需要记得开放端口。会出现如下界面,一步步进行配置即可:

Centos7 搭建开源的Restful Api 集成测试工具 Hitchhiker_第2张图片

Centos7 搭建开源的Restful Api 集成测试工具 Hitchhiker_第3张图片

Centos7 搭建开源的Restful Api 集成测试工具 Hitchhiker_第4张图片

Centos7 搭建开源的Restful Api 集成测试工具 Hitchhiker_第5张图片

 

    点击提交后,会等待5秒,然后自动进行跳转到已经启动的服务。当然了,还是要开端口啊,你在配置的时候配的什么服务端口记得要在服务器上开发,不然访问不了。

    到此,就算是完成了服务搭建。服务启动后,是以pm2的进行管理的,pm2 list可以查看进程状态。

 

4.自主修改配置文件

    服务虽然启动了,但是其实配置远远不止安装界面列出的这些,安装界面设置的配置在build/pm2.json中可以查看到,除此之外,直接修改appconfig.json也可以,如下是hitchhiker的主要配置:

# 修改配置文件,进入Hitchhiker文件夹中执行
vim appconfig.json
----------------------------------------------------------------
{
    "app": {
        "env": "DEV",
        "host": "http://localhost:8080/",   # 设置运行的ip和端口
        "port": 8080,   # 使用nginx做代理时可以使用这个端口
        "api": "http://localhost:8080/api/",  # API接口,调试用
        "language": "zh",  # 语言,中文:zh, 英文:en
        "encryptKey": "hitchhikerapi",  
        "encryptPassword": true,  # 是否对数据库里的用户密码加密
        "defaultPassword": "123456",  # 新帐号的默认密码
        "tempUser": "[email protected]",  # use without login时使用的用户账号
        "tempDelKey": "test",
        "sync": true,  # 是否支持同步,这里开启自动同步
        "syncInterval": 30,  # 同步间隔,单位(秒), 最小值是10
        "defaultHeaders": [  # 请求默认带的headers
            "Accept:*/*",
            "User-Agent:Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36",
            "Cache-Control:no-cache"
        ],
        "requestTimeout": 1800000,   # 请求超时时间 (ms)
        "scriptTimeout": 60000,   # 脚本执行时间(毫秒)
        "safeVM": false,   # 是否使用安全脚本,如require  
        "enableUpload": true,   # 是否支持上传脚本和数据
        "inviteMemberDirectly": true   # 不通过邮件验证来邀请成员
    },
    "db": {  
        "host": "192.168.9.80",   # mysql 的host
        "port": 3306,   # mysql端口
        "username": "root",  # mysql 用户名
        "password": "123456789",  # mysql密码
        "database": "hitchhiker"   # mysql 数据库
    },
    "schedule": {
        "duration": 60,  # schedule 监测时间间隔(秒)
        "storeUnit": "count",   # schedule 存储的单位,支持按个数存 count 和按天存: day
        "storeLimit": 50,   # schedule 存储的大小
        "storeContent": "forFail",  # schedule record response 是否存储, all表示所有都存下来, forFail表示只存失败的, none表示都不存(这会很大影响数据库大小和性能)
        "pageSize": 20  # schedule record 在浏览器端显示的一页的个数
    },
    "stress": {
        "stressType": "node",   # 压力测试的类型,默认为node,内置的,还有go,需要部署hitchhiker-node,设为none时禁用 
        "storeMaxCount": 5,    # 压力测试表最大长度
        "stressHost": "",    # 压力测试的host,为空时默认使用去掉端口的app的host
        "stressPort": 11010,   # 压力测试的端口
        "stressUpdateInterval": 1000   # 压力测试实时更新时的间隔(毫秒)  
    },
    "user": {
        "registerMailConfirm": false   # 注册是否需要邮箱验证
    },
    "mail": {
        "host": "http://email.hitchhiker-api.com/api/mail/",  # mail默认接口
        "customType": "smtp",   # 是否需要自定义mail,可以使用 "api" 或 "smtp"
        "customApi": "http://",  # custom为"api"时会使用这个mail接口, Hitchhiker会post {target, subject, content}到这个接口
        "smtp": {       # custom为"smtp"时使用这块,内容自行填写
            "host": "smtp.exmail.qq.com", 
            "port": 465,  
            "tls": true,    # 是否需要走tls加密
            "user": "***@qq.com",    # smtp用户名
            "pass": "****",    # smtp密码: 
            "from": "",    # 发邮件的邮箱,默认空会使用user, 
            "nickname": "",    # 昵称:  
            "rejectUnauthorized": false    # 证书验证不通过时是否报错
        }
    }
}
----------------------------------------------------------------

# 以上配置,在安装界面中已经配置过的可以不用再修改配置,在pm2启动服务时会自动读取build/pm2.json文件中的配置参数。
# 修改完配置后,要生效,需要重启一下服务,用pm2命令查看管理进行并重启
pm2 list
pm2 restart 

 

OK,到此就完成了hitchhiker的搭建部署,然后就可以正常使用了。至于使用方法,详细参见github上的中文文档:

《http://doc.hitchhiker-api.com/cn/introduction.html》

 

Centos7 搭建开源的Restful Api 集成测试工具 Hitchhiker_第6张图片

 

 

 

 

 

 

你可能感兴趣的:(Centos7系列,hitchhiker,centos7)