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)

  1. rubymine執行:
    單個用例

    或者


    單個測試集(下圖方法或者腳本中選到用例外的區域右鍵執行)

  2. 命令行執行
    工程目錄下,cmd執行rspec命令執行本所有用例,具體參數可以通過rspec -h查看


    參數可以寫到.rspec文件中去

    這樣就生成了rspec的測試報告(測試報告可以改源碼自己優化或者jenkins集成的時候使用其他風格的報告)

 

五.注意點:

1.ruby安裝時,設置環境變量(不然命令行下發有中文會認為是GBK編碼,產生編碼錯誤):

 

 2.rubymine設置(不然返回結果有中文的時候,rubymine上執行結果顯示出來是亂碼的)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM