最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

引言

在性能測(cè)試過(guò)程中,驗(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。

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

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

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

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

/**
     * 點(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;
    }

壓測(cè)腳本

下面是壓測(cè)腳本,是用Groovy寫的,方便在服務(wù)器上調(diào)試,但是跟Java有些不同,如果用編譯器的童鞋請(qǐng)注意編譯器異常,有些找不著引用對(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)行異常的方法,用來(lái)標(biāo)記響應(yīng)失敗,在框架中會(huì)捕捉doing()方法的異常,并記錄統(tǒng)計(jì)線程運(yùn)行過(guò)程的數(shù)據(jù)。有興趣參考性能測(cè)試框架第二版。

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

相關(guān)文章

  • 淺析 Java多線程

    淺析 Java多線程

    這篇文章主要介紹了Java多線程的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)Java線程相關(guān)知識(shí),感興趣的朋友可以了解下
    2020-09-09
  • Java網(wǎng)絡(luò)通信中ServerSocket的設(shè)計(jì)優(yōu)化方案

    Java網(wǎng)絡(luò)通信中ServerSocket的設(shè)計(jì)優(yōu)化方案

    今天小編就為大家分享一篇關(guān)于Java網(wǎng)絡(luò)通信中ServerSocket的設(shè)計(jì)優(yōu)化方案,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-04-04
  • Java面試題之基本語(yǔ)法(圖解)

    Java面試題之基本語(yǔ)法(圖解)

    這篇文章主要介紹了關(guān)于Java面試題之基本語(yǔ)法的相關(guān)資料,文中通過(guò)圖片說(shuō)明介紹的很詳細(xì),相信對(duì)大家具有一定的參考價(jià)值,有需要的朋友們下面來(lái)一起看看吧。
    2017-02-02
  • MyBatis 多表操作的實(shí)現(xiàn)

    MyBatis 多表操作的實(shí)現(xiàn)

    這篇文章主要介紹了MyBatis 多表操作的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • springboot2.x解決運(yùn)行順序及Bean對(duì)象注入順序的問(wèn)題

    springboot2.x解決運(yùn)行順序及Bean對(duì)象注入順序的問(wèn)題

    這篇文章主要介紹了springboot2.x解決運(yùn)行順序及Bean對(duì)象注入順序的問(wèn)題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-01-01
  • 基于Map的computeIfAbsent的使用場(chǎng)景和使用方式

    基于Map的computeIfAbsent的使用場(chǎng)景和使用方式

    這篇文章主要介紹了基于Map的computeIfAbsent的使用場(chǎng)景和使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • IDEA調(diào)試功能使用總結(jié)(step?over/step?into/force?step?into/step?out)

    IDEA調(diào)試功能使用總結(jié)(step?over/step?into/force?step?into/step?o

    本文主要介紹了IDEA調(diào)試功能使用總結(jié)(step?over/step?into/force?step?into/step?out),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • 匯總java調(diào)用python方法

    匯總java調(diào)用python方法

    這篇文章主要為大家詳細(xì)介紹了java調(diào)用python的方法,文章中介紹了三種java調(diào)用python方法,感興趣的朋友可以參考一下
    2016-02-02
  • java如何將控制臺(tái)輸出日志寫入到指定文件中

    java如何將控制臺(tái)輸出日志寫入到指定文件中

    這篇文章主要介紹了java如何將控制臺(tái)輸出日志寫入到指定文件中問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-04-04
  • Spring?@Configuration?proxyBeanMethods=false問(wèn)題

    Spring?@Configuration?proxyBeanMethods=false問(wèn)題

    這篇文章主要介紹了Spring?@Configuration?proxyBeanMethods=false問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-04-04

最新評(píng)論

彭水| 诸城市| 淳安县| 昌黎县| 蒲城县| 南投县| 大渡口区| 宜川县| 甘南县| 大连市| 海兴县| 澜沧| 周至县| 临洮县| 宁陵县| 郧西县| 恩施市| 枞阳县| 太白县| 宜阳县| 雷州市| 罗甸县| 南开区| 鹤峰县| 芜湖市| 聂荣县| 滦平县| 泸溪县| 滨州市| 若羌县| 分宜县| 裕民县| 营山县| 北流市| 普兰店市| 县级市| 寿光市| 耒阳市| 长葛市| 宁安市| 大名县|