一. 工具选择

  IDE:rubymine;http接口请求:Unirest,ruby单元测试框架:rspec

二.工程创建

  新建工程,在工程目录下,执行:rspec --init;初始化rspec工程

  

  可以看到工程下生成了两个文件.rspec和spec/rspec_helper.rb

  .rspec(用于命令行参数的配置)

  rspec_helper.rb(用于rspec工程的全局公共的一些配置)

三.编写测试脚本(以天气查询接口为例)

  rspec_helper.rb文件末尾中导入rspec,unirest的gems包,并定义参数导入方法

require 'unirest'
require 'rspec' def load_data(file)
load file
data
end

  创建data.rb文件用于存放脚本中的参数

def data
@weather_host = 'https://www.sojson.com'
@beijing = '北京'
@hangzhou = '杭州'
end

  创建测试文件weather_spec.rb(注意一定要以_spec为结尾,rspec默认是以这个来识别测试文件的)

describe '天气接口' do

  before(:all) do
load_data(__dir__+'/data.rb')
end it '查看北京天气' do
parameters = {city:@beijing}
response = Unirest.get(@douban_host+'/open/api/weather/json.shtml', parameters:parameters)
puts response.body
expect(response.body['city']).to match /北京/i
end it '查看杭州天气' do
parameters = {city:@hangzhou}
response = Unirest.get(@douban_host+'/open/api/weather/json.shtml', parameters:parameters)
puts response.body
expect(response.body['city']).to match /北京/i
end
end

这样一个简单的测试脚本就写好了

四.用例执行(类似于pycharm执行unittest)

  1. rubymine执行:
    单个用例

    或者

    单个测试集(下图方法或者脚本中选到用例外的区域右键执行)

  2. 命令行执行
    工程目录下,cmd执行rspec命令执行本所有用例,具体参数可以通过rspec -h查看

    参数可以写到.rspec文件中去

    这样就生成了rspec的测试报告(测试报告可以改源码自己优化或者jenkins集成的时候使用其他风格的报告)

五.注意点:

1.ruby安装时,设置环境变量(不然命令行下发有中文会认为是GBK编码,产生编码错误):

2.rubymine设置(不然返回结果有中文的时候,rubymine上执行结果显示出来是乱码的)

ruby做接口测试的更多相关文章

  1. Jsoup做接口测试

    最早用Jsoup是有一个小的爬虫应用要写,发现Jsoup较HttpClient轻便多了,API也方便易懂,上手很快,对于response的Document解析的选择器用的是cssSelector(Jq ...

  2. jmeter做接口测试

    jmeter做接口测试有两种方式: 1. 2.

  3. postman+jenkins+newman做接口测试的持续集成

    为何要做接口自动化测试的持续集成? 1. 接口相对稳定,改动少,比起GUI自动化测试来说性价比更加高些,不容易出现GUI自动化那种掉到维护脚本的坑里. 2. 接口测试比较简单,一个规范的接口,测试只需 ...

  4. python接口自动化(二)--什么是接口测试、为什么要做接口测试(详解)

    简介 上一篇和大家一起科普扫盲接口后,知道什么是接口,接口类型等,对其有了大致了解之后,我们就回到主题-接口测试. 什么是接口测试 接口测试是测试系统组件间接口的一种测试.接口测试主要用于检测外部系统 ...

  5. 用Jmeter+Badboy+Fiddler做接口测试

    用Jmeter+Badboy+Fiddler做接口测试 2016-12-05 目录: 1 简介2 Badboy录制3 Jmeter打开Badboy脚本4 用Fiddler抓请求,补充完善脚本5 测试中 ...

  6. 使用Robot Framework做接口测试

    http://chuansong.me/n/1858477 1.RF框架 1.1 RF框架介绍Robot Framework 框架是一个通用的测试框架,一直是由诺西网络(Nokia Siemens N ...

  7. 用postman做接口测试实例

    使用postman做接口测试,可以选择请求方式,可以直接输入参数和header,可以编写测试结果的代码,判断是否通过测试 下图为填写接口测试地址.填写接口的参数,点击send发送请求 其中,Param ...

  8. 使用postman做接口测试(一)

    参考大神的总结:https://www.cnblogs.com/Skyyj/p/6856728.html 一,先了解一下基础知识,虽然工作中没什么卵用,但背会了,可以显摆自己很专业的样子,以下内容来自 ...

  9. postman 做接口测试

    Postman 之前是作为Chrome 的一个插件,现在要下载应用才能使用. 以下是postman 的界面: 各个功能区的使用如下: 快捷区: 快捷区提供常用的操作入口,包括运行收藏夹的一组测试数据, ...

随机推荐

  1. vue-cli中自定义路径别名 assets和static文件夹的区别

    转自:vue-cli中自定义路径别名 assets和static文件夹的区别 静态资源处理: assets和static文件夹的区别 相信有很多人知道vue-cli有两个放置静态资源的地方,分别是sr ...

  2. Google Colab 免费的谷歌GPU for deep learning

    Who wants to use a free GPU for deep learning?Google Colab is a free cloud service and now it suppor ...

  3. ACM HDU-2952 Counting Sheep

    Counting Sheep Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) T ...

  4. rolllup巧用

    --构造环境drop table dept purge;drop table emp purge;create table dept as select * from scott.dept;creat ...

  5. xtrabackup在线迁移mysql并搭建为主主同步

    一.背景 工作中有需求数据库需要迁移,但是不能停服,不能锁库锁表影响业务的正常运行,所以使用XtraBackup 二.环境: 操作系统:CentOS Linux release 7.4.1708 (C ...

  6. February 1 2017 Week 5 Wednesday

    If you can't get a miracle, become one. 如果奇迹没有眷顾你,那就让自己变成奇迹吧. If you think you are bad luck, you did ...

  7. IDEA 搭建Java WEB 开发环境

    本文是一篇讲解如何在 目前比较流行的IntellJ IDEA 下搭建JavaWEB的说明文档, 如有写的不详细的地方,希望各位留下自己宝贵的意义. Tips : 遇到的问题 , 请耐心看完文章,在文章 ...

  8. nodejs+postgis实现搜周边

    利用nodejs搭建服务器,并连接PostgreSQL数据库,利用前端传过来的中心点坐标和搜索半径,进行空间查询,实现简单的搜周边,下面是实现流程和nodejs的代码: app.post('/tose ...

  9. 6.spring:AOP(注解)

     spring Aop AOP面向切面编程,与OOP面向对象编程相辅相成 AOP中最基本的单元是切面 问题: 代码混乱:越来越多的业务需求(日志&验证)加入后,原有的业务方法急剧膨胀,每个方法 ...

  10. form表单上传文件

    一.formData()直接获取form表单数据 例子:获取form表单的id给formData(),然后传给后台. 要求: 传入值的name值必须与后台接受的name相对应. form表单不能嵌套, ...