ruby做接口测试
一. 工具选择
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)
- rubymine执行:
单个用例
或者

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

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

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

五.注意点:
1.ruby安装时,设置环境变量(不然命令行下发有中文会认为是GBK编码,产生编码错误):
2.rubymine设置(不然返回结果有中文的时候,rubymine上执行结果显示出来是乱码的)

ruby做接口测试的更多相关文章
- Jsoup做接口测试
最早用Jsoup是有一个小的爬虫应用要写,发现Jsoup较HttpClient轻便多了,API也方便易懂,上手很快,对于response的Document解析的选择器用的是cssSelector(Jq ...
- jmeter做接口测试
jmeter做接口测试有两种方式: 1. 2.
- postman+jenkins+newman做接口测试的持续集成
为何要做接口自动化测试的持续集成? 1. 接口相对稳定,改动少,比起GUI自动化测试来说性价比更加高些,不容易出现GUI自动化那种掉到维护脚本的坑里. 2. 接口测试比较简单,一个规范的接口,测试只需 ...
- python接口自动化(二)--什么是接口测试、为什么要做接口测试(详解)
简介 上一篇和大家一起科普扫盲接口后,知道什么是接口,接口类型等,对其有了大致了解之后,我们就回到主题-接口测试. 什么是接口测试 接口测试是测试系统组件间接口的一种测试.接口测试主要用于检测外部系统 ...
- 用Jmeter+Badboy+Fiddler做接口测试
用Jmeter+Badboy+Fiddler做接口测试 2016-12-05 目录: 1 简介2 Badboy录制3 Jmeter打开Badboy脚本4 用Fiddler抓请求,补充完善脚本5 测试中 ...
- 使用Robot Framework做接口测试
http://chuansong.me/n/1858477 1.RF框架 1.1 RF框架介绍Robot Framework 框架是一个通用的测试框架,一直是由诺西网络(Nokia Siemens N ...
- 用postman做接口测试实例
使用postman做接口测试,可以选择请求方式,可以直接输入参数和header,可以编写测试结果的代码,判断是否通过测试 下图为填写接口测试地址.填写接口的参数,点击send发送请求 其中,Param ...
- 使用postman做接口测试(一)
参考大神的总结:https://www.cnblogs.com/Skyyj/p/6856728.html 一,先了解一下基础知识,虽然工作中没什么卵用,但背会了,可以显摆自己很专业的样子,以下内容来自 ...
- postman 做接口测试
Postman 之前是作为Chrome 的一个插件,现在要下载应用才能使用. 以下是postman 的界面: 各个功能区的使用如下: 快捷区: 快捷区提供常用的操作入口,包括运行收藏夹的一组测试数据, ...
随机推荐
- Python学习---深浅拷贝的学习
浅拷贝copy(): 修改字符串,原来的不变: 更改列表,2个同时修改,以为列表里面还涉及一个指针的索引. 简单讲就是copy()只是简单地copy了第一层,第二层不被copy 深拷贝: 需要单独的 ...
- QA-IDEA中用maven配置项目无法加载JDBC
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver Im building Maven Java Web application and w ...
- 一个典型的后台软件系统的设计复盘——(二)如何id一个事物
这个话题,可以从类与对象说起. Dog dog1 = new Dog(); 哪个是类,哪个是对象?这个问题搞不清楚,后面就无从说起了.然后两个程序员之间沟通说,那个狗有问题.除非两人很默契,不然另一人 ...
- July 20th 2017 Week 29th Thursday
The darkness is no darkness with you. 有了你,黑暗将不再是黑暗. The darkness will not be driven out if we failed ...
- easyui学习笔记1—增删改操作
最近公司要用easyui,这里自己看了官网几篇文章,遇到些问题,大多数的问题都是敲代码的时候笔误,其他有些地方确实需要注意一下,这里做些笔记. 1.在mysql中建好表之后修改id字段为递增字段,发现 ...
- 推荐一个可以把网页背景色调成护眼色的Chrome扩展应用
程序员一天有10几个小时要面对着电脑,老是这种白晃晃的屏幕,谁的眼睛受得了? 我在网上逛了一圈,找到一个比较实用的Chrome扩展应用,可以一键实现将Chrome打开网页的背景色修改成护眼的豆沙绿,这 ...
- hdu-2685 I won't tell you this is about number theory---gcd和快速幂的性质
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=2685 题目大意: 求gcd(am-1,an-1)%k 解题思路: 对于am-1 = (a - 1) ...
- C#使用DotNetZip对zip压缩包进行添加删除操作
参考:http://stackoverflow.com/questions/9855155/how-can-i-delete-a-directory-in-a-zip-file-using-net D ...
- ResourceWarning: unclosed <socket.socket fd=864, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('10.100.x.x', 37321), raddr=('10.1.x.x', 8500)>解决办法
将代码封装,并使用unittest调用时,返回如下警告: C:\python3.6\lib\collections\__init__.py:431: ResourceWarning: unclosed ...
- es6之类与对象
一.类的定义 class Parent{ constructor(name="mukewang"){ this.name=name; } } let v_parant=new Pa ...