cucumber框架+rest-assured框架整合使用分享!

整體項目關(guān)注點

  • 項目思想:BDD
    行為驅(qū)動開發(fā)的思想褒貶不一,這里不多說。遵循的宗旨能解決業(yè)務(wù)痛點的思想就是好思想。
  • 前置條件
    1、需要一個IDEA編輯器,這里這里已準(zhǔn)備好下載激活地址,點擊下載
    2、會使用cucumber框架的feature文件書寫和jsonPath取值方式
  • 測試過程
    1、單接口可在同一feature文件內(nèi)定義,包含正向逆向測試。
    2、多接口上下游的參數(shù)值傳遞通過jsonPath提取定義變量,下一接口取出變量值傳遞。
  • 期望結(jié)果
    項目拉下來,只寫業(yè)務(wù)的feature文件接口即可完成接口測試
  • 項目目錄結(jié)構(gòu)


接口測試實戰(zhàn)(整個框架不僅僅局限于接口測試)

只關(guān)注cucumber的feature約束文件書寫,即可完成接口測試。
廢話不多說直接進(jìn)入實戰(zhàn)

  • 實戰(zhàn)示例:以企業(yè)微信員工查詢、新增、修改、刪除操作接口為例

cucumber框架+rest-assured框架+jsonPath框架各自的使用請自行百度查詢

  • 第一步配置IDEA編譯器全局接口服務(wù)器地址
    企業(yè)微信服務(wù)端接口地址:https://qyapi.weixin.qq.com
    備注:如果需要單個執(zhí)行feature文件,需要對應(yīng)的文件配置下服務(wù)器地址
    image.png
  • feature文件說明
    1、feature文件關(guān)鍵字說明



    2、feature文件執(zhí)行順序說明
    以feature命名的名字(字母或者數(shù)字盡行排序)如:A-Z或者1-N

  • 第二步編寫接口用例
    1、企業(yè)微信獲取access_token接口(后續(xù)員工查詢、新增、修改、刪除均會使用到)
    測試專業(yè)企業(yè)微信信息不保密
    企業(yè)微信API文檔:點擊查看
Feature: ["獲取access_token"]

  Scenario Outline: 獲取access_token
    Given API "/cgi-bin/gettoken"
    And Param
    """
    corpid : ww27d6f876d80ceec6
    corpsecret: yiXycY2QFDwD9HysYNk6hF7NFnt1CxBybuei1YKVaVw
    """
    When GET
    Then STATUS "200"
    Then JSONPATH_ASSERT "<jsonPath>" equals "<value>"
    Then JSONPATH_GET_MONGO
    |access_token|getToken|
    Examples:
      | jsonPath | value  |
      | errmsg   | ok |

2、讀取人員接口

Feature: ["讀取人員接口"]

  Scenario Outline: 讀取人員接口_正向測試
    Given API "/cgi-bin/user/get"
    And Param
    """
    access_token: ${getToken}
    userid: CuiZhongYuan
    """
    When GET
    Then STATUS "200"
    Then JSONPATH_ASSERT "<jsonPath>" equals "<value>"
    Examples:
      | jsonPath | value  |
      | errmsg   | ok |

  Scenario Outline: 讀取人員接口_逆向測試(缺少token鑒權(quán),期望的錯誤)
    Given API "/cgi-bin/user/get"
    And Param
    """
    access_token:
    userid: CuiZhongYuan
    """
    When GET
    Then STATUS "200"
    Then JSONPATH_ASSERT "<jsonPath>" equals "<value>"
    Examples:
      | jsonPath | value  |
      | errcode   | 41001 |
  • 新增人員接口
Feature: ["新增成員接口"]

  Scenario Outline: 新增人員接口_正向測試
    Given API "/cgi-bin/user/create?access_token=${getToken}"
    And Body
    """
     {
      "userid": "TESTER",
      "name": "張三",
      "alias": "jackzhang",
      "mobile": "13800000004",
       "department": [2],
      }
    """
    When POST
    Then STATUS "200"
    Then JSONPATH_ASSERT "<jsonPath>" equals "<value>"
    Examples:
      | jsonPath | value  |
      | errcode  | 0      |


請求參數(shù)類型說明

Param:支持url路徑跟的參數(shù)和form-data格式參數(shù)
Body: 支持raw原生的json格式參數(shù)


變量定義和取值

測試運行結(jié)果

Jenkins插件cucumber美化報告直觀

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容