欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java實(shí)現(xiàn)在性能測試中進(jìn)行業(yè)務(wù)驗(yàn)證實(shí)例

 更新時(shí)間:2022年07月21日 15:41:27   作者:FunTester  
這篇文章主要為大家介紹了java實(shí)現(xiàn)在性能測試中進(jìn)行業(yè)務(wù)驗(yàn)證實(shí)例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

引言

在性能測試過程中,驗(yàn)證HTTP code和響應(yīng)業(yè)務(wù)code碼是比較基礎(chǔ)的,但是在一些業(yè)務(wù)中,這些參數(shù)并不能保證接口正常響應(yīng)了,很可能返回了錯(cuò)誤信息,所以這個(gè)時(shí)候?qū)涌谶M(jìn)行業(yè)務(wù)驗(yàn)證就尤其重要。下面分享一個(gè)對(duì)某個(gè)資源進(jìn)行業(yè)務(wù)驗(yàn)證的Demo。

改接口請求資源詳情,其中有一個(gè)字段是表示該用戶對(duì)于該資源的操作狀態(tài),踩贊類型:1-贊,2-踩,3-取消贊,4-取消踩。

改壓測一個(gè)接口,但是需要兩個(gè)接口的數(shù)據(jù)提供數(shù)據(jù),一個(gè)是登錄,一個(gè)是操作改資源的接口。

點(diǎn)贊和資源詳情的方法

具體的項(xiàng)目結(jié)構(gòu)之前講過,主要解決了請求方式,身份驗(yàn)證的問題,這里不再細(xì)說登錄以及如何將身份令牌傳遞給。下面分享一下點(diǎn)贊和資源詳情的方法代碼,兩者分屬兩個(gè)模塊未在一個(gè)類里面,我這里單獨(dú)挑出來:

/**
     * 點(diǎn)贊和踩
     *
     * @param resId     資源id
     * @param operation 操作類型(踩贊類型:1-贊,2-踩,3-取消贊,4-取消踩)
     * @return
     */
    public JSONObject likeOrNot(int resId, int operation) {
        String url = FlowApi.LIKE_OR_NOT;
        JSONObject params = getParams();
        params.put("isCoursePackage", 0);//標(biāo)識(shí)是否課程包 0-否 1-是
        params.put("operation", operation);
        params.put("resId", resId);
        params.put("resType", 5);//1-課件;2-題集;3-教學(xué)資料;4-課程包;5:題目
        JSONObject response = getPostResponse(url, params);
        output(response);
        return response;
    }
/**
     * 課程包詳情
     *
     * @param resid 資源ID 1030167
     * @return
     */
    public JSONObject courseDetail(int resid) {
        String url = LauncherApi.COURSE_DETAIL;
        JSONObject params = getParams();
        params.put("id", resid);
        JSONObject response = getPostResponse(url, params);
//        output(response);
        return response;
    }

壓測腳本

下面是壓測腳本,是用Groovy寫的,方便在服務(wù)器上調(diào)試,但是跟Java有些不同,如果用編譯器的童鞋請注意編譯器異常,有些找不著引用對(duì)象的時(shí)候需要手動(dòng),或者忽略這些異常:

public static void main(String[] args) {
        def argsUtil = new ArgsUtil(args)
        def thread = argsUtil.getIntOrdefault(0, 2)
        def times = argsUtil.getIntOrdefault(1, 2)
        def threads = []
        thread.times {
            threads << new ThreadLimitTimesCount<Integer>(it, times) {
                def resid = 1030167
                def operation = getRandomInt(4)
                def drive
                @Override
                public void before() {
                    super.before()
                    def base = new OkayBase(it)
                    def flow = new Flow(base)
                    flow.likeOrNot(this.resid, this.operation)
                    this.drive = new Launcher(base)
                    sleep(1000)
                }
                @Override
                protected void doing() throws Exception {
                    def response = this.drive.courseDetail(this.resid)
                    int anInt = response.getJSONObject("data").getInt("like_state");
                    if (anInt != 3) fail();
                }
                @Override
                protected void after() {
                }
            }
        }
        new Concurrent(threads).start()
        allOver();
    }

doing()方法中response的響應(yīng)處理可能會(huì)拋出異常,fail()是一個(gè)封裝的拋出通用運(yùn)行異常的方法,用來標(biāo)記響應(yīng)失敗,在框架中會(huì)捕捉doing()方法的異常,并記錄統(tǒng)計(jì)線程運(yùn)行過程的數(shù)據(jù)。有興趣參考性能測試框架第二版。

以上就是java實(shí)現(xiàn)在性能測試中進(jìn)行業(yè)務(wù)驗(yàn)證實(shí)例的詳細(xì)內(nèi)容,更多關(guān)于java性能測試業(yè)務(wù)驗(yàn)證的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Spring?MVC實(shí)現(xiàn)GET請求接收Date類型參數(shù)

    Spring?MVC實(shí)現(xiàn)GET請求接收Date類型參數(shù)

    這篇文章主要介紹了Spring?MVC實(shí)現(xiàn)GET請求接收Date類型參數(shù),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • 在Filter中不能注入bean的問題及解決

    在Filter中不能注入bean的問題及解決

    這篇文章主要介紹了在Filter中不能注入bean的問題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • 微信小程序 navigator 跳轉(zhuǎn)url傳遞參數(shù)

    微信小程序 navigator 跳轉(zhuǎn)url傳遞參數(shù)

    這篇文章主要介紹了 微信小程序 navigator 跳轉(zhuǎn)url傳遞參數(shù)的相關(guān)資料,需要的朋友可以參考下
    2017-03-03
  • Spring?Boot統(tǒng)一接口返回及全局異常處理

    Spring?Boot統(tǒng)一接口返回及全局異常處理

    這篇文章主要介紹了Spring?Boot統(tǒng)一接口返回及全局異常處理,文章圍繞主題展開相關(guān)資料,具有一定的參考價(jià)值需要的小伙伴可以參考一下
    2022-04-04
  • Spring中Websocket身份驗(yàn)證和授權(quán)的實(shí)現(xiàn)

    Spring中Websocket身份驗(yàn)證和授權(quán)的實(shí)現(xiàn)

    在Web應(yīng)用開發(fā)中,安全一直是非常重要的一個(gè)方面,本文主要介紹了Spring中Websocket身份驗(yàn)證和授權(quán)的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-08-08
  • java實(shí)現(xiàn)砸金蛋抽獎(jiǎng)功能

    java實(shí)現(xiàn)砸金蛋抽獎(jiǎng)功能

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)砸金蛋抽獎(jiǎng)功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-11-11
  • linux下執(zhí)行java程序的sh腳本分享

    linux下執(zhí)行java程序的sh腳本分享

    這篇文章主要介紹了linux下執(zhí)行java程序的sh腳本,僅供參考,但是設(shè)置的時(shí)候環(huán)境變量是最重要的,我就是環(huán)境變量一直不對(duì),總是按網(wǎng)上查到的來,不明白怎么回事,才一直出錯(cuò),其實(shí)環(huán)境變量就是你要執(zhí)行的java程序所在的位置
    2014-09-09
  • Java Spring的refresh方法你知道嗎

    Java Spring的refresh方法你知道嗎

    這篇文章主要為大家詳細(xì)介紹了Java Spring的refresh方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03
  • Java鎖之可重入鎖介紹

    Java鎖之可重入鎖介紹

    這篇文章主要介紹了Java鎖之可重入鎖介紹,可重入鎖,也叫做遞歸鎖,指的是同一線程外層函數(shù)獲得鎖之后,內(nèi)層遞歸函數(shù)仍然有獲取該鎖的代碼,但不受影響,需要的朋友可以參考下
    2014-11-11
  • SpringBoot獲取配置文件的簡單實(shí)現(xiàn)方法

    SpringBoot獲取配置文件的簡單實(shí)現(xiàn)方法

    這篇文章主要給大家介紹了關(guān)于SpringBoot如何獲取配置文件的簡單實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Spring Boot具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05

最新評(píng)論