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 的界面: 各个功能区的使用如下: 快捷区: 快捷区提供常用的操作入口,包括运行收藏夹的一组测试数据, ...
随机推荐
- 关于 Web 安全,99% 的网站都忽略了这些
Web安全是一个如何强调都不为过的事情,我们发现国内的众多网站都没有实现全站https,对于其他安全策略的实践更是很少,本文的目的并非讨论安全和攻击的细节,而是从策略的角度引发对安全的思考和重视. 1 ...
- 【Leetcode】【Medium】Find Minimum in Rotated Sorted Array
Suppose a sorted array is rotated at some pivot unknown to you beforehand. (i.e., 0 1 2 4 5 6 7 migh ...
- Python初学者第十一天 文件处理_batch
11day 文件的操作分为读.写.修改 1.读: f = open(file='D:\新建文本文档.txt',mode='r',encoding='gbk') data = f.read() prin ...
- 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 ...
- Go语言(二) 继承和重载
继承 package main import "fmt" type Skills []string type person struct { name string age int ...
- UVa 1638 - Pole Arrangement(dp)
链接: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...
- grep参数说明及常用用法(转)
转:https://www.cnblogs.com/leo-li-3046/p/5690613.html grep常用参数说明 grep [OPTIONS] PATTERN [FILE...] gre ...
- Junit报错Initialization Error
出错原因是没有把方法声明为public
- 锐捷交换机实验案例:vlan间互访的配置与验证
组网需求: 1.如下图所示,某用户内网被划分为VLAN 10.VLAN 20.VLAN 30,以实现相互间的2 层隔离: 2.3 个VLAN 对应的IP 子网分别为192.168.10.0/24 .1 ...
- List<子类>转List<父类>过程中犯的一些错误
新人犯的错误,记录一下供以后参考. 有两个类 public class A { public string Name{get;set;} } public class B:A { public int ...