国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

接口自動(dòng)化測(cè)試框架搭建【附教程加源碼】

這篇具有很好參考價(jià)值的文章主要介紹了接口自動(dòng)化測(cè)試框架搭建【附教程加源碼】。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

1 接口測(cè)試

接口測(cè)試是對(duì)系統(tǒng)或組件之間的接口進(jìn)行測(cè)試,主要是校驗(yàn)數(shù)據(jù)的交換,傳遞和控制管理過(guò)程,以及相互邏輯依賴關(guān)系。
接口自動(dòng)化相對(duì)于UI自動(dòng)化來(lái)說(shuō),屬于更底層的測(cè)試,這樣帶來(lái)的好處就是測(cè)試收益更大,且維護(hù)成本相對(duì)來(lái)說(shuō)較低,是我們進(jìn)行自動(dòng)化測(cè)試的首選

2 框架選型

目前接口自動(dòng)化的框架比較多,比如jmeter,就可以集接口自動(dòng)化和性能測(cè)試于一體,該工具編寫用例效率不高;還有我們常用的postman,結(jié)合newman也可以實(shí)現(xiàn)接口自動(dòng)化;Python+unittest+requests+HTMLTestRunner?是目前比較主流的測(cè)試框架,對(duì)python有一定的編碼要求;
本期我們選擇robotframework(文中后續(xù)統(tǒng)一簡(jiǎn)稱為RF)這一個(gè)比較老牌的測(cè)試框架進(jìn)行介紹,RF是一個(gè)完全基于?關(guān)鍵字?測(cè)試驅(qū)動(dòng)的框架,它即能夠基于它的一定規(guī)則,導(dǎo)入你需要的測(cè)試庫(kù)(例如:其集成了selenium的測(cè)試庫(kù),即可以理解為操作控件的測(cè)試底層庫(kù)),然后基于這些測(cè)試庫(kù),你能應(yīng)用TXT形式編寫自己的關(guān)鍵字(支持python和java語(yǔ)言,這些關(guān)鍵字即你的庫(kù)組成),之后,再編寫(測(cè)試用例由測(cè)試關(guān)鍵字組成)進(jìn)行測(cè)試;他支持移動(dòng)端、UI自動(dòng)化和接口自動(dòng)化的測(cè)試

3 環(huán)境搭建
  • python的安裝:目前選取的python3以上的版本,RF的運(yùn)行依賴python
  • robotframework:參考https://www.jianshu.com/p/9dcb4242b8f2
  • jenkins:用于調(diào)度RF的用例執(zhí)行環(huán)境
  • gitlab:代碼倉(cāng)庫(kù)
4 需求

4.1 需求內(nèi)容
接口內(nèi)容:實(shí)現(xiàn)一個(gè)下單,并檢查訂單狀態(tài)是否正常的場(chǎng)景;該需求涉及到如下三個(gè)接口

  • 下單接口
  • 訂單結(jié)果查詢接口
  • 下單必須帶上認(rèn)證標(biāo)識(shí),生成token的接口

環(huán)境覆蓋:需要支持能在多套環(huán)境運(yùn)行,比如測(cè)試和預(yù)發(fā)布環(huán)境
系統(tǒng)集成:需要能夠集成在CICD中,實(shí)現(xiàn)版本更新后的自動(dòng)檢測(cè)

4.2 用例設(shè)計(jì)
4.2.1 用例設(shè)計(jì),根據(jù)業(yè)務(wù)場(chǎng)景設(shè)計(jì)測(cè)試用例,方便后續(xù)實(shí)現(xiàn)

接口自動(dòng)化測(cè)試框架搭建【附教程加源碼】,軟件測(cè)試,python,開發(fā)語(yǔ)言,自動(dòng)化,測(cè)試工具

4.2.2 測(cè)試數(shù)據(jù)構(gòu)造,預(yù)置不同環(huán)境的測(cè)試數(shù)據(jù),供實(shí)現(xiàn)調(diào)用

接口自動(dòng)化測(cè)試框架搭建【附教程加源碼】,軟件測(cè)試,python,開發(fā)語(yǔ)言,自動(dòng)化,測(cè)試工具

5 整體實(shí)現(xiàn)架構(gòu)

接口自動(dòng)化測(cè)試框架搭建【附教程加源碼】,軟件測(cè)試,python,開發(fā)語(yǔ)言,自動(dòng)化,測(cè)試工具

接口測(cè)試實(shí)現(xiàn)層:在RF,通過(guò)引用默認(rèn)關(guān)鍵字?RequestsLibrary?(實(shí)現(xiàn)http請(qǐng)求)和通過(guò)python自定義關(guān)鍵字來(lái)完成用例實(shí)現(xiàn)的需求;
jenkins調(diào)度:在jenkins上配置一個(gè)job,設(shè)置好RF用例執(zhí)行的服務(wù)器和發(fā)送給服務(wù)器相關(guān)的RF執(zhí)行的指令,并且在jenkins中配置好測(cè)試報(bào)告模板,這樣用例便可以通過(guò)jenkins完成執(zhí)行并發(fā)送測(cè)試結(jié)果給項(xiàng)目干系人;
生成用例執(zhí)行的API:上圖中藍(lán)色部分,就是為了將jenkins的job生成一個(gè)可訪問api接口,方便被測(cè)項(xiàng)目的CICD集成;
集成到被測(cè)系統(tǒng)CICD流程:將上面步驟中封裝的API配置在被測(cè)應(yīng)用的__gitlab-ci.yml__中,完成整個(gè)接口自動(dòng)化的閉環(huán)

6 RF用例實(shí)現(xiàn)

6.1 引用的內(nèi)置關(guān)鍵字

  • RequestsLibrary 構(gòu)造http的請(qǐng)求,get|post等請(qǐng)求
getRequests
# get請(qǐng)求的入?yún)?    [Arguments]    ${url_domain}    ${getbody}    ${geturl}    ${getToken}
    Create session    postmain    ${url_domain}
# 定義header的內(nèi)容
    ${head}    createdictionary    content-type=application/json    Authorization=${getToken}    MerchantId=${s_merchant_id}
# get請(qǐng)求
    ${addr}    getRequest    postmain    ${geturl}    params=${getbody}    headers=${head}
# 請(qǐng)求狀態(tài)碼斷言
    Should Be Equal As Strings    ${addr.status_code}    200
    ${response_get_data}    To Json    ${addr.content}
# 返回http_get請(qǐng)求結(jié)果
    Set Test Variable    ${response_get_data}	 
    Delete All Sessions

6.2 自定義關(guān)鍵字

  • getEnvDomain 用于從自定義的configs.ini文件獲取對(duì)應(yīng)環(huán)境的微服務(wù)的請(qǐng)求域名
    configs.ini的內(nèi)容

    接口自動(dòng)化測(cè)試框架搭建【附教程加源碼】,軟件測(cè)試,python,開發(fā)語(yǔ)言,自動(dòng)化,測(cè)試工具

# 獲取configs.ini的內(nèi)容
import configparser
def getEnv(path,env):
    config = configparser.ConfigParser()
    config.read(path)
    passport = config[env]['passport']
    stock=config[env]['stock']
    finance=config[env]['finance']
    SUP = config[env]['SUP']
    publicApi = config[env]['publicApi']
    publicOrder = config[env]['publicOrder']
    data_dict={'passport':passport,'stock':stock,'finance':finance,'SUP':SUP,'publicApi':publicApi,'publicOrder':publicOrder}
    return data_dict
  • excelTodict 用戶將excel中的內(nèi)容作為字典返回
import xlrd

'''
通用獲取excel數(shù)據(jù)
@:param path excel文件路徑
@:param sheet_name excel文件里面sheet的名稱 如:Sheet1
@:env 環(huán)境,是IT還是PRE
'''
def getExcelDate(path, sheet_name,env):
    bk = xlrd.open_workbook(path)
    sh = bk.sheet_by_name(sheet_name)
    row_num = sh.nrows
    data_list = []
    for i in range(1, row_num):
        row_data = sh.row_values(i)
        data = {}
        for index, key in enumerate(sh.row_values(0)):
            data[key] = row_data[index]
        data_list.append(data)
    data_list1 = []
    for x in data_list:
        #print('這是'+str(x))
        if(x.get('env')==env):
            data_list1.append(x)
    return data_list1
  • getToken 提供接口下單的授權(quán)token
*** Keywords ***
# 根據(jù)傳入的clientid、secret生成對(duì)應(yīng)的token
getToken
    [Arguments]    ${client_id}    ${client_secret}    ${url_domain}
    Create session    postmain    ${url_domain}
    ${auth}    createdictionary    grant_type=client_credentials    client_id=${client_id}    client_secret=${client_secret}
    ${header}    createdictionary    content-type=application/x-www-form-urlencoded
    ${addr}    postRequest    postmain    /oauth/token    data=${auth}    headers=${header}
    Should Be Equal As Strings    ${addr.status_code}    200
    ${responsedata}    To Json    ${addr.content}
    ${access}    Get From Dictionary    ${responsedata}    access_token
    ${token}    set variable    bearer ${access}
    Set Test Variable    ${token}
    Delete All Sessions
  • getAllDate 獲取該用例下的所有數(shù)據(jù)
getAllData
    [Arguments]    ${row_no}
    getEnvDomain
    getBalance    ${row_no}
    getStockNum    ${row_no}
    getSupProPrice    ${row_no}
    getProPrice    ${row_no}
    Set Test Variable    ${publicOrderUrl}
    Set Test Variable    ${FPbalance}
    Set Test Variable    ${Pbalance}
    Set Test Variable    ${Sbalance}
    Set Test Variable    ${Jbalance}
    Set Test Variable    ${Cardnum}
    Set Test Variable    ${sprice}
    Set Test Variable    ${price}
    Set Test Variable    ${j_merchant_id}
    Set Test Variable    ${s_merchant_id}
    Set Test Variable    ${stock_id}
    Set Test Variable    ${p_product_id}
    Set Test Variable    ${s_product_id}

  • 實(shí)現(xiàn)demo
*** Settings ***
Test Template
Resource          引用所有資源.txt

*** Test Cases ***
*** Settings ***
Test Template
Resource          引用所有資源.txt

*** Test Cases ***
01 下單卡密直儲(chǔ)商品
    [Tags]    order
    LOG    ---------------------獲取下單前的數(shù)量、余額------------------------------------------
    getAllData    0
    ${Cardnum1}    set variable    ${Cardnum}
    ${FPbalance1}    set variable    ${FPbalance}
    ${Pbalance1}    set variable    ${Pbalance}
    ${Sbalance1}    set variable    ${Sbalance}
    ${Jbalance1}    set variable    ${Jbalance}
    ${CustomerOrderNo1}    Evaluate    random.randint(1000000, 9999999)    random
    ${Time}    Get Time
    log    ------------------------下單操作-------------------------------------------------------
    getToken    100xxxx    295dab07a9xxxx9780be0eb95xxxx   ${casUrl}
    ${input_cs}    create dictionary    memberId=${j_merchant_id}    clientId=1xxx079    userId=string    shopType=string    customerOrderNo=${CustomerOrderNo1}
    ...    productId=${p_product_id}    buyNum=1    chargeAccount=otest888888    notifyUrl=string    chargeIp=string    chargePassword=string
    ...    chargeGameName=string    chargeGameRole=string    chargeGameRegion=string    chargeGameSrv=string    chargeType=string    remainingNumber=0
    ...    contactTel=string    contactQQ=string    customerPrice=0    poundage=0    batchNumber=    originalOrderId=string
    ...    shopName=string    appointSupProductId=0    stemFromSubOrderId=123456    externalBizId=456789
    postRequests    ${publicOrderUrl}    ${input_cs}    /api/Order    ${token}
    ${data}    get from dictionary    ${responsedata}    data
    ${orderid}    get from dictionary    ${data}    id
    sleep    6
    ${getdata}    create dictionary    Id=${orderid}    PageIndex=1    PageSize=1
    getRequests    ${publicOrderUrl}    ${getdata}    /api/Order/GetList    ${token}
    ${datalist}    get from dictionary    ${response_get_data}    data
    ${data}    get from dictionary    ${datalist}    list
    ${dict}    set variable    ${data}[0]
    ${orderOuterStatus}    get from dictionary    ${dict}    orderOuterStatus
    LOG    ---------------------獲取下單后的數(shù)量、余額----------------------------------------------
    getAllData    0
    ${Cardnum2}    set variable    ${Cardnum}
    ${FPbalance2}    set variable    ${FPbalance}
    ${Pbalance2}    set variable    ${Pbalance}
    ${Sbalance2}    set variable    ${Sbalance}
    ${Jbalance2}    set variable    ${Jbalance}
    ${sprice}    set variable    ${sprice}
    ${price}    set variable    ${price}
    log    ------------------斷言-----------------------------------------------------------------
    ${Cardnum3}    Evaluate    ${Cardnum1}
    ${Jbalance3}    Evaluate    ${Jbalance1}
    ${Sbalance3}    Evaluate    ${Sbalance1}
    ${Pbalance3}    Evaluate    ${Pbalance1}
    should be true    ${orderOuterStatus}==90
    should be true    ${Cardnum3}==${Cardnum2}
    should be true    ${Jbalance3}==${Jbalance2}
    should be true    ${Sbalance3}==${Sbalance2}
    should be true    ${Pbalance3}==${Pbalance2}

7 集成到CICD流程

7.1 jenkins配置job
通過(guò)jenkins的參數(shù)化構(gòu)建,定義it和pre兩套環(huán)境

接口自動(dòng)化測(cè)試框架搭建【附教程加源碼】,軟件測(cè)試,python,開發(fā)語(yǔ)言,自動(dòng)化,測(cè)試工具

jenkins發(fā)送RF執(zhí)行的命令

接口自動(dòng)化測(cè)試框架搭建【附教程加源碼】,軟件測(cè)試,python,開發(fā)語(yǔ)言,自動(dòng)化,測(cè)試工具

7.2 封裝的jenkins_job的執(zhí)行接口地址
通過(guò)python的flask框架,根據(jù)測(cè)試和pre兩套環(huán)境包一層jenkins的job執(zhí)行接口

__author__ = 'paul'

# !/usr/bin/env python
# -*- coding: utf-8 -*-
from flask import Flask, abort, request, jsonify
import jenkins

server = jenkins.Jenkins('http://10.0.1.xxx:80', username='xxx', password='fuluxxxx')

app = Flask(__name__)

tasks = []

# it的測(cè)試集合http請(qǐng)求接口
@app.route('/test/it', methods=['get'])
def robot_Test_It():
    server.build_job('CI_FuluOrder', {'environment': 'IT'})
    return jsonify({'result': 'success'})

# pre的測(cè)試集合http請(qǐng)求接口
@app.route('/test/pre', methods=['get'])
def robot_Test_Pre():
    server.build_job('CI_FuluOrder', {'environment': 'PRE'})
    return jsonify({'result': 'success'})

if __name__ == "__main__":
    # 將host設(shè)置為0.0.0.0,則外網(wǎng)用戶也可以訪問到這個(gè)服務(wù)
    app.run(host="0.0.0.0", port=80, debug=True)

7.3 將上述flask封裝的接口打包成鏡像
根據(jù)dockerfile生成鏡像

FROM python:3.6
WORKDIR /app
EXPOSE 80
COPY .	.
RUN pip install -r requirements.txt?
ENTRYPOINT ["python","robotTestApi.py"]

7.4 將鏡像部署到kubernetes,對(duì)外提供服務(wù)
供觸發(fā)測(cè)試執(zhí)行的調(diào)用入口 ,這部分封裝的接口部署在本地的k8s集群下ordermiddle

IT:?http://ordermiddle.xxx.cn/test/it
pre:http://ordermiddle.xxx.cn/test/pre

7.5 被測(cè)項(xiàng)目的CICD集成接口自動(dòng)化測(cè)試
gitlab目前采取直接對(duì)CICD腳本加入測(cè)試步驟,在部署到容器30秒后(考慮到容器在K8S啟動(dòng)時(shí)間)調(diào)用測(cè)試接口

接口自動(dòng)化測(cè)試框架搭建【附教程加源碼】,軟件測(cè)試,python,開發(fā)語(yǔ)言,自動(dòng)化,測(cè)試工具

7.6 發(fā)送測(cè)試報(bào)告

接口自動(dòng)化測(cè)試框架搭建【附教程加源碼】,軟件測(cè)試,python,開發(fā)語(yǔ)言,自動(dòng)化,測(cè)試工具

Python接口自動(dòng)化測(cè)試零基礎(chǔ)入門到精通(2023最新版)文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-726169.html

到了這里,關(guān)于接口自動(dòng)化測(cè)試框架搭建【附教程加源碼】的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 從零搭建完整python自動(dòng)化測(cè)試框架(UI自動(dòng)化和接口自動(dòng)化)

    從零搭建完整python自動(dòng)化測(cè)試框架(UI自動(dòng)化和接口自動(dòng)化)

    總體框架 PO模式、DDT數(shù)據(jù)驅(qū)動(dòng)、驅(qū)動(dòng) 框架技術(shù)選擇 框架運(yùn)行結(jié)果 各用例對(duì)應(yīng)的定義方式(PO/DDT) 測(cè)試執(zhí)行結(jié)果 從零開始搭建項(xiàng)目 一、開發(fā)環(huán)境搭建 二、新建項(xiàng)目 三、基礎(chǔ)功能實(shí)現(xiàn) 1. 配置功能實(shí)現(xiàn)(Conf) 2. 日志功能實(shí)現(xiàn)(Log) 3. 讀取EXCEL實(shí)現(xiàn)(data) 4. 郵件發(fā)送實(shí)

    2024年02月04日
    瀏覽(35)
  • 基于Python接口自動(dòng)化測(cè)試框架(初級(jí)篇)附源碼

    基于Python接口自動(dòng)化測(cè)試框架(初級(jí)篇)附源碼

    目錄 引言 框架設(shè)計(jì)思路 框架結(jié)構(gòu) 運(yùn)行程序 總結(jié) 總結(jié): ? 很多人都知道,目前市場(chǎng)上很多自動(dòng)化測(cè)試工具,比如:Jmeter,Postman,TestLink等,還有一些自動(dòng)化測(cè)試平臺(tái),那為啥還要開發(fā)接口自動(dòng)化測(cè)試框架呢? 相同之處就不說(shuō)了,先說(shuō)一下工具的局限性: 1.測(cè)試數(shù)據(jù)不可控

    2024年02月11日
    瀏覽(21)
  • 從零搭建完整 Python 接口自動(dòng)化測(cè)試框架—持續(xù)更新

    從零搭建完整 Python 接口自動(dòng)化測(cè)試框架—持續(xù)更新

    本接口自動(dòng)化框架采用 python + unittest + request + openpyxl + myddt + pymysql 來(lái)實(shí)現(xiàn)接口自動(dòng)化。? unittest 是 Python 自帶的一個(gè)單元測(cè)試框架 2.1 作用 管理用例 批量執(zhí)行用例 組織運(yùn)行結(jié)果/報(bào)告 讓代碼更穩(wěn)健 可拓展 2.2 unittest 框架中,有以下幾個(gè)組件: TestCase:即測(cè)試用例,Unittest提供

    2024年02月09日
    瀏覽(29)
  • Python web自動(dòng)化測(cè)試框架搭建(功能&接口)——通用模塊

    Python web自動(dòng)化測(cè)試框架搭建(功能&接口)——通用模塊

    1、通用模塊: config.conf: 公共配置文件,配置報(bào)告、日志、截圖路徑,以及郵件相關(guān)配置 logger: 日志模塊 main.py: 執(zhí)行器,負(fù)責(zé)執(zhí)行整體測(cè)試任務(wù)模塊 testrunner.py: 負(fù)責(zé)測(cè)試用例執(zhí)行和結(jié)果收集 utils.py: 公共方法,如創(chuàng)建報(bào)告文件夾、生成測(cè)試報(bào)告、發(fā)送郵件 2、日志模塊: 3、

    2024年01月16日
    瀏覽(23)
  • 【實(shí)戰(zhàn)詳解】如何快速搭建接口自動(dòng)化測(cè)試框架?Python + Requests

    【實(shí)戰(zhàn)詳解】如何快速搭建接口自動(dòng)化測(cè)試框架?Python + Requests

    本文主要介紹如何使用Python語(yǔ)言和Requests庫(kù)進(jìn)行接口自動(dòng)化測(cè)試,并提供詳細(xì)的代碼示例和操作步驟。希望能對(duì)讀者有所啟發(fā)和幫助。 隨著移動(dòng)互聯(lián)網(wǎng)的快速發(fā)展,越來(lái)越多的應(yīng)用程序采用Web API(也稱為RESTful API)作為數(shù)據(jù)交換的主要方式。針對(duì)API進(jìn)行自動(dòng)化測(cè)試已經(jīng)變得非

    2024年02月09日
    瀏覽(24)
  • Postman 接口自動(dòng)化測(cè)試教程:入門介紹和從 0 到 1 搭建 Postman 接口自動(dòng)化測(cè)試項(xiàng)目

    Postman 接口自動(dòng)化測(cè)試教程:入門介紹和從 0 到 1 搭建 Postman 接口自動(dòng)化測(cè)試項(xiàng)目

    ?關(guān)于Postman接口自動(dòng)化測(cè)試的導(dǎo)引,全面介紹入門基礎(chǔ)和從零開始搭建項(xiàng)目的步驟。學(xué)習(xí)如何有效地使用Postman進(jìn)行API測(cè)試,了解項(xiàng)目搭建的基礎(chǔ)結(jié)構(gòu)、環(huán)境設(shè)置和測(cè)試用例的編寫。無(wú)論您是新手還是經(jīng)驗(yàn)豐富的測(cè)試人員,這篇教程都將為您提供清晰的指導(dǎo),助您輕松構(gòu)建強(qiáng)大

    2024年03月16日
    瀏覽(28)
  • (Python)Requests+Pytest+Allure接口自動(dòng)化測(cè)試框架從0到1搭建

    (Python)Requests+Pytest+Allure接口自動(dòng)化測(cè)試框架從0到1搭建

    前面,已經(jīng)學(xué)習(xí)了如何用SpringBoot寫接口以及與Mysql數(shù)據(jù)庫(kù)進(jìn)行交互,具體可查閱下面的這篇博客,今天學(xué)習(xí)一下基于Python的接口自動(dòng)化測(cè)試框架的搭建,主要包括以下內(nèi)容:利用request庫(kù)發(fā)送請(qǐng)求,請(qǐng)求數(shù)據(jù)參數(shù)化處理,還涉及到數(shù)據(jù)庫(kù)(Mysql+MongDB)方面的交互,包括如何取數(shù)

    2024年02月13日
    瀏覽(722)
  • 微信小程序自動(dòng)化測(cè)試實(shí)戰(zhàn)教程,框架源碼應(yīng)有盡有

    微信小程序自動(dòng)化測(cè)試實(shí)戰(zhàn)教程,框架源碼應(yīng)有盡有

    目錄 1. 微信小程序自動(dòng)化測(cè)試介紹 2. 搭建微信小程序自動(dòng)化測(cè)試框架 步驟1:選擇測(cè)試工具 步驟2:搭建測(cè)試環(huán)境 步驟3:編寫測(cè)試腳本 步驟4:執(zhí)行測(cè)試 3. 實(shí)現(xiàn)微信小程序自動(dòng)化測(cè)試的關(guān)鍵技術(shù) 技術(shù)1:微信小程序自動(dòng)化測(cè)試工具 技術(shù)2:測(cè)試腳本的編寫 技術(shù)3:測(cè)試環(huán)境的

    2024年02月14日
    瀏覽(22)
  • 如何搭建關(guān)鍵字驅(qū)動(dòng)自動(dòng)化測(cè)試框架?這絕對(duì)是全網(wǎng)天花板的教程

    如何搭建關(guān)鍵字驅(qū)動(dòng)自動(dòng)化測(cè)試框架?這絕對(duì)是全網(wǎng)天花板的教程

    目錄 1. 驅(qū)動(dòng)自動(dòng)化測(cè)試介紹 2. 搭建驅(qū)動(dòng)自動(dòng)化測(cè)試框架 步驟1:選擇測(cè)試工具 步驟2:定義測(cè)試用例 步驟3:編寫測(cè)試驅(qū)動(dòng)引擎 步驟4:實(shí)現(xiàn)測(cè)試庫(kù) 步驟5:執(zhí)行測(cè)試 3. 實(shí)現(xiàn)驅(qū)動(dòng)自動(dòng)化測(cè)試的關(guān)鍵技術(shù) 技術(shù)1:測(cè)試工具 技術(shù)2:測(cè)試驅(qū)動(dòng)引擎的編寫 技

    2023年04月20日
    瀏覽(23)
  • 自動(dòng)化測(cè)試(三):接口自動(dòng)化pytest測(cè)試框架

    自動(dòng)化測(cè)試(三):接口自動(dòng)化pytest測(cè)試框架

    API:Application Programming Interface 接口自動(dòng)化按照自動(dòng)化的工具可分為 基于 接口測(cè)試工具 的接口自動(dòng)化 eg1:Postman+Newman+git/Svn+Jenkins(基于Javascript語(yǔ)言)接口自動(dòng)化 Postman :創(chuàng)建和發(fā)送 API 請(qǐng)求,并對(duì)響應(yīng)進(jìn)行斷言和驗(yàn)證。 Newman : Postman 的命令行工具,它允許測(cè)試人員在沒有界

    2024年02月10日
    瀏覽(93)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包