Hitchhiker是一个在github上开源的项目,被善友大哥收录到了它的微服务工具包里《开源的 Restful Api 集成测试工具 Hitchhiker》,同时源代码也开源到了github上https://github.com/brookshi/Hitchhiker

多样化的部署

deploy with docker

deploy to linux

deploy to win

# create folder
mkdir hitchhiker
cd hitchhiker # download docker-compose & mysql.conf file from github
curl -O https://raw.githubusercontent.com/brookshi/Hitchhiker/release/deploy/docker/hitchhiker_and_mysql/docker-compose.yml -O https://raw.githubusercontent.com/brookshi/Hitchhiker/release/deploy/docker/hitchhiker_and_mysql/hitchhiker-mysql.cnf # edit docker-compose.yml file
sudo vim docker-compose.yml
# replace localhost to your host ip/domain and save&quit
... # docker-compose up
sudo docker-compose up -d # test
curl http://ip:8080/

需要注意的几点

我们采用了docker部署方式,需要注意,部署时Hitchhiker依赖于mysql,所以需要同时安装mysql数据库,或者建立mysql的镜像,事实上在yml部署文件里都写着,在下载镜像时需要注册,它是很大的,1.1G ,所以下载需要很长时间,请耐心!

默认应用程序使用8080端口,如果冲突,请在yml文件里去修改,Mysql属于它的依赖镜像,所以如果使用docker去部署,它会升生成mysql的镜像,并且为了修改配置,我们把mysql的配置外挂到了磁盘上。

  volumes:
- ./hitchhiker-mysql.cnf:/etc/mysql/conf.d/hitchhiker.cnf
- /my/hitchhiker/sqldata:/var/lib/mysql

同时修改build/index.js文件的默认端口,作者把它写死了,appconfig.json里的,咱们可以让它从环境变量里获取!

app.use(middleware_1.default(app));
const server = app.listen();
console.log("port:"+setting_1.Setting.instance.appPort);

开启测试自动化之旅

它与 postman很像,使用方法也是一样,同时可以把postman的数据导入到Hitchhiker上面,方面我们重用之前写好的测试代码!

建议

作者可以把yml版权升级一下,现在很多docker都不支持version 2了,建议生成!

建议基于docker service写个发布脚本,方便在集群环境使用,当然升级到 version 3后,也可以使用docker stack depoly进行集群swarm的部署!

期待!

RefulApi自动化测试~Hitchhiker的部署的更多相关文章

  1. CI Weekly #11 | 微服务场景下的自动化测试与持续部署

    又一周过去了,最近我们的工程师正在搞一个"大事情" --「[flow.ci](http://flow.ci/?utm_source=bokeyuan&utm_medium= ...

  2. Appium自动化测试1 - 安装部署

    主要参考文章“虫师”自动化部署教程,不过结合自己的一些情况记录此博客~ 1.准备安装包 1)jdk; 下载及安装过程省略,我下载的是jdk1.7版本. 2) adt&SDK; SDK下载的是e ...

  3. 开源API测试工具 Hitchhiker v0.8 - 自动化测试结果统计

    Hitchhiker 是一款开源的支持多人协作的 Restful Api 测试工具,支持自动化测试, 数据对比,压力测试,支持脚本定制请求,可以轻松部署到本地,和你的team成员一起协作测试Api. ...

  4. 95、Jenkins部署.net持续集成自动化测试环境

    ##目录 1. 安装Jenkins 1. 配置Jenkins 1. 自动编译 1. 自动部署 1. 自动测试 环境介绍: web服务器机器:192.168.1.7 svn服务器:192.168.1.5 ...

  5. 使用 flow.ci 实现 Android 自动化测试与持续集成

    在上篇文章--如何实现 Android 应用的持续部署中,我们使用的是 flow.ci + Github + fir.im 实现 Android 应用的持续部署.对于 Android 开发者,他们可能 ...

  6. robot_framewok自动化测试

    robot_framewok自动化测试 http://wenku.baidu.com/view/691abcaa4b73f242336c5fec.html 接口自动化测试框架设计 http://wen ...

  7. .NET持续集成与自动化部署之路第三篇——测试环境到生产环境的一键部署策略(Windows)

    Jenkins测试环境到生产环境的一键部署策略(Windows) 一.前言     前面我们已经初步实现了开发集成环境.测试环境的持续集成(自动化构建.自动化测试.自动化部署).但生产环境自动化部署迟 ...

  8. 【ZZ】谈谈持续集成,持续交付,持续部署之间的区别

    谈谈持续集成,持续交付,持续部署之间的区别 http://blog.flow.ci/cicd_difference/ 谈谈持续集成,持续交付,持续部署之间的区别 2016年08月03日 标签:beta ...

  9. Ganymed实现基本的自动化部署API

    Ganymed SSH-2 for Java是一个纯Java实现的SHH2库,官网为http://www.ganymed.ethz.ch/ssh2/,最新的更新时间为2006年10月,在用之前,请仔细 ...

随机推荐

  1. 人力资源管理 winform C#

    主旨思想:数据库(增,删,改,查) 资源管理器目的:实现基本人员信息   存储,调用,查看头像,修改内容. 注意事项:   1.建立两个表格  (人员表(cold,name,bumen,phone,t ...

  2. SpringMVC+Hibernate 使用 session.update(obj) 未更新的问题

    1.使用spring控制事务 2.使用session.update(obj)执行更新 spring事务配置: <bean id="transactionBese" class ...

  3. Flutter的使用教学笔记

    QQ交流群 Flutter 程序开发群:766307130 教程 官方实战 使用Flutter 构建精美的页面 云在千峰 博主一直是从事 Android 开发的,所以主要从 Android 技术角度来 ...

  4. day02.2-列表内置方法

    列表——list的定义:test = [1,12,9,"age",["zizai","jiapu"],"alex"] 特 ...

  5. spring框架所有包说明

    spring依赖的jar包如下:下面是每个jar包的说明spring.jar 是包含有完整发布模块的单个jar 包.但是不包括mock.jar, aspects.jar, spring-portlet ...

  6. JavaScript学习笔记——2.数据类型与类型转换

    数据类型 JS中一共分成六种数据类型 1- String 字符串 2- Number 数值 3- Boolean 布尔值 4- Null 空值 5- Undefined 未定义 6- Object 对 ...

  7. Python实现——二元线性回归(最小二乘法)

    2019/3/30 二元线性回归--矩阵公式法_又名:对于python科学库的糟心尝试_ 二元线性回归严格意义上其实不过是换汤不换药,我对公式进行推导,其实也就是跟以前一样的求偏导并使之为零,并且最终 ...

  8. web图标icon tomcat图标icon

    有时候我们需要更改项目图标为自己的,毕竟tomcat的小猫图标用着不得劲. 你看打开百度等网站时,在地址栏前面就会出现一个蓝色的熊掌状图标或者其他的样式的图标,如果在桌面新建此链接的快捷方式,则桌面图 ...

  9. 说说Cookie和Session(会话)的区别?

    1.Cookie 通俗讲,是访问某些网站后在本地存储的一些网站相关信息,下次访问时减少一些步骤.更准确的说法是:Cookies是服务器在本地机器上存储的小段文本并随每一个请求发送至同一服务器,是在客户 ...

  10. ES6问题记录--Promise

    在读[阮一峰]的 ES6 入门文档的时候,有一段代码是这样的. 文章中,还有一段是这样写的 所以,Promise.resolve(3).finally(()=>{}),解析出来的resolve ...