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

python接口測試對修改密碼接口進行壓測

 更新時間:2022年07月21日 14:36:21   作者:FunTester  
這篇文章主要為大家介紹了python接口測試對修改密碼接口進行壓測的腳本實現(xiàn),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

引言

做接口測試中,對于一般性的單業(yè)務接口測試很多工具可供選擇,但是對于一些相關業(yè)務相關性的關聯(lián)接口測試就比較麻煩,使用工具比如jmeter、postman、soapui等等就比較麻煩。

我比較偏重腳本化執(zhí)行測試用例,所以選擇了groovy作為主要語言來進行接口測試,但是腳本依賴的庫還是基于之前所在的java為主的測試框架,有興趣的可以翻翻以前的文章。

項目的架構思路是以模塊為基礎把接口分類,然后對于接口的請求單獨進行實現(xiàn)。通過一個user作為一個用戶,攜帶各種屬性,如:uname,pwd,token,userinfobean等信息。來作為各個模塊類之間的信息傳遞。

回到修改密碼接口,簡單說一下我們接口的邏輯,先登錄,獲取token作為用戶身份的唯一校驗值,修改密碼接口參數(shù),newpwd,oldpwd,token。成功之后會返回新的token,作為用戶繼續(xù)其他操作的校驗值。

測試腳本代碼

分享一下自己的測試腳本代碼:

class T8 extends OkayBase {
    public static void main(String[] args) {
        int thread =changeStringToInt(args[0])
        int times =changeStringToInt(args[1])
        List<ThreadBase> threads = new ArrayList<>()
        for (int i = 0; i < thread; i++) {
            OkayBase base = getBase(i)
            UserCenter userCenter = new UserCenter(base)
            userCenter.modifyPwd()
            ThreadBase threadBase = new ThreadBase() {
                @Override
                protected void before() {
                }
                @Override
                protected void doing() throws Exception {
                    userCenter.modifyPwd()
                }
                @Override
                protected void after() {
                }
            }
            threadBase.setTimes(times)
            threads.add(threadBase)
        }
        new Concurrent(threads).start()
        allOver()
    }
}

usercenter主要代碼

main方法留了兩個參數(shù)表示線程數(shù)和單線程請求數(shù),下面是usercenter的主要代碼。

public class UserCenter extends OkayBase {
    private static Logger logger = LoggerFactory.getLogger(UserCenter.class);
    public UserCenter(OkayBase okayBase) {
        super(okayBase);
    }
    public JSONObject modifyPwd() {
        String url = UserApi.MODIFY_PWD;
        JSONObject params = getParams();
        params.put("newpwd", getPassword(this.getUname()));
        params.put("oldpwd", getPassword(this.getPwd()));
        JSONObject response = getPostResponse(url, params);
        output(response);
        if (isRight(response)) {
            String string = response.getJSONObject("data").getString("token");
            this.setToken(string);
        }
        return response;
    }
}

okaybase主要代碼

public class OkayBase extends SourceCode implements IBase {
    private static Logger logger = LoggerFactory.getLogger(OkayBase.class);
    int uid;
    String token;
    String uname;
    String pwd;
    public OkayBase(String uname, String pwd) {
        this.uname = uname;
        this.pwd = pwd;
        login();
    }
    public String getPassword() {
        String s = uname.substring(uname.length() - 6);
        return getPassword(s);
    }
    public String getPassword(String pwd) {
        return RSAUtils.getPassword(pwd);
    }
    public JSONObject getParams() {
        JSONObject json = getJson("uid=" + uid, "token=" + token);
        json.put("imei", "isFake");
        json.put("serial", "W170500652");
        json.put("ua", "f_an_4..0");
        return json;
    }
    public String getPwd() {
        return pwd;
    }
    public void setPwd(String pwd) {
        this.pwd = pwd;
    }
    public int getUid() {
        return uid;
    }
    public String getToken() {
        return token;
    }
    public void setToken(String token) {
        this.token = token;
    }
    public String getUname() {
        return uname;
    }
    @Override
    public boolean isRight(JSONObject jsonObject) {
        int code = TEST_ERROR_CODE;
        try {
            code = jsonObject.getJSONObject("meta").getInt("ecode");
            JSONObject data = jsonObject.getJSONObject("data");
            return code == 0 && !data.isEmpty();
        } catch (Exception e) {
            return false;
        }
    }
    /**
     * 測試結束,資源釋放
     */
    public static void allOver() {
        FanLibrary.testOver();
    }
}

以上就是python接口測試對修改密碼接口進行壓測的詳細內容,更多關于python修改密碼接口壓測的資料請關注腳本之家其它相關文章!

相關文章

  • Python打印詳細報錯日志,獲取報錯信息位置行數(shù)方式

    Python打印詳細報錯日志,獲取報錯信息位置行數(shù)方式

    這篇文章主要介紹了Python打印詳細報錯日志,獲取報錯信息位置行數(shù)方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • python實現(xiàn)定時任務的八種方式總結

    python實現(xiàn)定時任務的八種方式總結

    在日常工作中,我們常常會用到需要周期性執(zhí)行的任務,下面這篇文章主要給大家介紹了關于python實現(xiàn)定時任務的八種方式,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-01-01
  • pytorch方法測試詳解——歸一化(BatchNorm2d)

    pytorch方法測試詳解——歸一化(BatchNorm2d)

    今天小編就為大家分享一篇pytorch方法測試詳解——歸一化(BatchNorm2d),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • Python制作一個PPT文本提取工具

    Python制作一個PPT文本提取工具

    這篇文章主要為大家詳細介紹了如何使用Python開發(fā)一個帶圖形界面的PPT文本提取工具,可以從PPTX文件中提取所有文本內容,有需要的小伙伴可以了解下
    2025-01-01
  • 詳解python中@的用法

    詳解python中@的用法

    這篇文章主要介紹了python中@的用法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-03-03
  • Python初識二叉樹續(xù)之實戰(zhàn)binarytree

    Python初識二叉樹續(xù)之實戰(zhàn)binarytree

    binarytree庫是一個Python的第三方庫,這個庫實現(xiàn)了一些二叉樹相關的常用方法,使用二叉樹時,可以直接調用,不需要再自己實現(xiàn),下面這篇文章主要給大家介紹了關于Python初識二叉樹之實戰(zhàn)binarytree的相關資料,需要的朋友可以參考下
    2022-05-05
  • 解決Tensorflow sess.run導致的內存溢出問題

    解決Tensorflow sess.run導致的內存溢出問題

    今天小編就為大家分享一篇解決Tensorflow sess.run導致的內存溢出問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • Pandas Describe函數(shù)的具體使用

    Pandas Describe函數(shù)的具體使用

    在Pandas中,describe()能夠為數(shù)據(jù)框中的數(shù)值列提供統(tǒng)計摘要信息,本文主要介紹了Pandas Describe函數(shù)的具體使用,具有一定的參考價值,感興趣的可以了解一下
    2024-02-02
  • Python制作數(shù)據(jù)分析透視表的方法詳解

    Python制作數(shù)據(jù)分析透視表的方法詳解

    透視表是一種可以對數(shù)據(jù)動態(tài)排布并且分類匯總的表格格式,在常用的python的數(shù)據(jù)分析非標準庫pandas中體現(xiàn)為pivot_table模塊。本文主要介紹了如何實現(xiàn)制作數(shù)據(jù)分析透視表,需要的可以參考一下
    2022-09-09
  • python算法測試結果自動保存到excel表格的實現(xiàn)步驟

    python算法測試結果自動保存到excel表格的實現(xiàn)步驟

    我們在進行算法評估是通常會針對每個樣本的算法處理結果進行統(tǒng)計,例如每個樣本正確預測數(shù)量、漏檢數(shù)量和誤檢數(shù)量、精度等,本文小編將給大家介紹python算法測試結果自動保存到excel表格的實現(xiàn)步驟,感興趣的朋友可以參考下
    2023-12-12

最新評論

海南省| 大方县| 茌平县| 屏南县| 灵石县| 通许县| 莱芜市| 九江市| 荔波县| 宣威市| 璧山县| 子长县| 岳普湖县| 吉安市| 清水河县| 历史| 阿拉善盟| 祁连县| 望谟县| 佳木斯市| 奈曼旗| 甘德县| 涡阳县| 微山县| 巴青县| 卫辉市| 阿克陶县| 利津县| 河北省| 余江县| 旬邑县| 乌拉特中旗| 绥棱县| 资兴市| 浪卡子县| 上蔡县| 罗甸县| 观塘区| 洪湖市| 庄浪县| 新干县|