最新国产好看的视频,伊人天堂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è)試過程中,驗(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)之前講過,主要解決了請(qǐng)求方式,身份驗(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;
    }

壓測(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)行異常的方法,用來標(biāo)記響應(yīng)失敗,在框架中會(huì)捕捉doing()方法的異常,并記錄統(tǒng)計(jì)線程運(yùn)行過程的數(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)化方案,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-04-04
  • Java面試題之基本語(yǔ)法(圖解)

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

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

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

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

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

    這篇文章主要介紹了springboot2.x解決運(yùn)行順序及Bean對(duì)象注入順序的問題,本文給大家介紹的非常詳細(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),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(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)輸出日志寫入到指定文件中問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-04-04
  • Spring?@Configuration?proxyBeanMethods=false問題

    Spring?@Configuration?proxyBeanMethods=false問題

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

最新評(píng)論

珠海市| 额尔古纳市| 乌兰察布市| 抚松县| 贡觉县| 磐石市| 遂溪县| 富民县| 忻州市| 周宁县| 上高县| 巴东县| 长乐市| 龙游县| 乌拉特后旗| 清水河县| 贡山| 潞城市| 晋州市| 基隆市| 钦州市| 博罗县| 嘉定区| 高平市| 乐陵市| 敦化市| 保德县| 苍山县| 文安县| 昭通市| 湘潭市| 高雄市| 赣榆县| 镇坪县| 永春县| 九龙城区| 渑池县| 舟曲县| 肇东市| 青海省| 汪清县|