久久精品国产亚洲高清|精品日韩中文乱码在线|亚洲va中文字幕无码久|伊人久久综合狼伊人久久|亚洲不卡av不卡一区二区|精品久久久久久久蜜臀AV|国产精品19久久久久久不卡|国产男女猛烈视频在线观看麻豆

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

當(dāng)前位置:首頁(yè)  >  技術(shù)干貨  > 軟件測(cè)試之Locust入門(mén)

軟件測(cè)試之Locust入門(mén)

來(lái)源:千鋒教育
發(fā)布人:qyf
時(shí)間: 2022-06-02 18:55:00 1654167300

src軟件測(cè)試.jpg&refer=http___www

  一 簡(jiǎn)介:

  1、locust作為一款性能測(cè)試工具,沒(méi)有單獨(dú)的ui界面,可以說(shuō)是python下的一些庫(kù)的集成

  locust完全基于python作為編程語(yǔ)言,采用pure python描述測(cè)試腳本,其中的http請(qǐng)求也是完全基于Requests庫(kù),除了HTTP/HTTPS協(xié)議,locust也可以測(cè)其他協(xié)議的系統(tǒng),只需要采用python調(diào)用對(duì)應(yīng)的庫(kù)進(jìn)行請(qǐng)求描述即可,可以說(shuō)python對(duì)應(yīng)的庫(kù)還是非常齊全的。

  2、與jmeter相比較而言,locust更加的輕量化,采用的是不同于jmeter中進(jìn)程和線程的處理機(jī)制(協(xié)程[微線程]),有效避免了系統(tǒng)的資源調(diào)度,由此可以大幅度的提高單擊系統(tǒng)的并發(fā)能力

  3、Github地址:

  https://github.com/locustio/locust

  注:如果想查看python下依賴了哪些庫(kù)的話,可以進(jìn)入github,點(diǎn)擊setup.py進(jìn)入查看

  4、locust組成模塊(所依賴的庫(kù))[gevent]是python下實(shí)現(xiàn)協(xié)程的一個(gè)第三方庫(kù),能夠使系統(tǒng)獲取極高的并發(fā)性能(locust基礎(chǔ)模塊)

  簡(jiǎn)而言之,它的特點(diǎn)就是協(xié)程,web管理工具,超級(jí)好用。

  二 如何使用呢?

  第一步: 安裝

  安裝locust,在終端中執(zhí)行: pip install locustio

  Locust有六個(gè)依賴的python模塊

  1.gevent:在Python中實(shí)現(xiàn)協(xié)程的第三方庫(kù)。協(xié)程又叫微線程Corouine。使用gevent可以獲取極高的并發(fā)能力;

  2.flask:Python的一個(gè)web開(kāi)發(fā)框架,和django相當(dāng);

  3.requests:支持http/https訪問(wèn)的庫(kù);

  4.msgpack-python:一種快速、緊湊的二進(jìn)制序列化格式,使用與類似json的數(shù)據(jù);

  5.six:提供了一些簡(jiǎn)單的工具封裝Python2和Python3 之間的差異;

  6.pyzmq:安裝這個(gè)第三方庫(kù),可以把Locust運(yùn)行在多個(gè)進(jìn)程或多個(gè)機(jī)器(分布式)

  安裝結(jié)束了之后我們就開(kāi)啟Locust之旅了。

  第二步: 使用

  如何快速的創(chuàng)建一個(gè)Locust Demo。

  # -*- coding: utf-8 -*-

  from random import random

  from locust import HttpLocust, task, TaskSet

  import os

  # @task python中的裝飾器,告訴下面的方法是一個(gè)任務(wù),任務(wù)就是一個(gè)接口請(qǐng)求

  #要用這個(gè)裝飾器,需要頭部引入 從locust中,引入 task

  class TestCaseDemo(TaskSet):

  # 相當(dāng)于setup

  def on_start(self):

  pass

  @task(1) # 權(quán)重

  def auth(self):  # 方法名, 發(fā)起授權(quán)接口

  url = "/api/qftest/auth"

  resp = self.client.post(url)

  self.token = resp.json()['token']

  if resp.status_code == 200:

  resp.success()

  else:

  resp.failure("auth接口失敗")

  @task(1)

  def register(self):  # 發(fā)起注冊(cè)接口

  # #定義請(qǐng)求頭為類變量,, 將token添加到請(qǐng)求頭中,這樣其他任務(wù)也可以調(diào)用該變量

  self.headers = {"Content-Type": "application/json", "token": self.token}

  url1 = "/api/qftest/register"

  self.username = "qf_" + str(random.randint(1000. 10000))

  payload = {'username': 'self.username', 'passwd': 'qf123456.', 'code': '123456'}

  resp = self.client.post(url1. json=payload, headers=self.headers)

  if resp.status_code == 200:

  print("success")

  else:

  resp.failure("register接口失敗")

  @task(1)

  def login(self):  # 發(fā)起登錄接口

  url = "/api/qftest/login"

  payload = {'username': self.username, 'passwd': 'qf123456'}

  resp = self.client.post(url, json=payload, headers=self.headers)

  self.userid = resp.json()["userid"]

  if resp.status_code == 200:

  print("success")

  else:

  resp.failure("login接口失敗")

  @task(1)

  def getUserInfo(self):  # 發(fā)起獲取用戶信息接口

  url = "/api/qftest/getUserInfo"

  payload = {"id": self.userid}

  resp = self.client.post(url, json=payload, headers=self.headers)

  if resp.status_code == 200:

  print("success")

  else:

  resp.failure("getUserInfo接口失敗")

  @task(1)

  def logout(self):  # 發(fā)起退出接口

  url = "/api/qftest/logout"

  resp = self.client.post(url, headers=self.headers)

  if resp.status_code == 200:

  print("success")

  else:

  resp.failure("logout接口失敗")

  # 相當(dāng)于teardown

  def on_stop(self):

  pass

  class UserRun(HttpLocust):

  task_set = TestCaseDemo  # 定義固定的 task_set 指定前面的任務(wù)類名稱

  min_wait = 3000  # 單位為毫秒

  max_wait = 6000  # 單位為毫秒

  if __name__ == "__main__":

  os.system("locust -f test_locust.py --host=http://192.168.xx.xx:8080")

  執(zhí)行上面編寫(xiě)的腳本后,本地打開(kāi)localhost:8089或127.0.0.1:8089即能正常訪問(wèn)locust的web UI界面,設(shè)置并發(fā)用戶數(shù),執(zhí)行壓測(cè)。

  三 無(wú)web-UI模式

  在沒(méi)有Web UI的情況下運(yùn)行l(wèi)ocust - 可以打開(kāi)cmd 通過(guò)使用--no-web參數(shù),-c指定要生成的Locust用戶數(shù) -r每秒啟動(dòng)虛擬用戶數(shù)

  先cd到腳本當(dāng)前目錄,然后執(zhí)行指令:

  locust -f locustfile.py --host=[http://192.168.x.xx:80](http://192.168.x.xx/) --no-web -c 1 -r 1

  設(shè)置運(yùn)行時(shí)間

  如果要指定測(cè)試的運(yùn)行時(shí)間,可以使用--run-time

  > locust -f locustfile.py --host=[http://192.168.x.xx:80](http://192.168.x.xx/) --no-web -c 1 -r 1 --run-time 10

  或使用-t參數(shù)

  > locust -f locustfile.py --host=[http://192.168.x.xx:80](http://192.168.x.xx/) --no-web -c 1 -r 1 -t 10

  運(yùn)行時(shí)間單位,如果不寫(xiě)單位默認(rèn)是s,也可以指定小時(shí)h,分鐘m,可以參考以下時(shí)間格式

  *   10s 10秒(不寫(xiě)單位默認(rèn)s)

  *   5m 表示5分鐘

  *   1h 1小時(shí)

  *   1m30s 1分30秒

  更多關(guān)于軟件測(cè)試培訓(xùn)的問(wèn)題,歡迎咨詢千鋒教育在線名師,如果想要了解我們的師資、課程、項(xiàng)目實(shí)操的話可以點(diǎn)擊咨詢課程顧問(wèn),獲取試聽(tīng)資格來(lái)試聽(tīng)我們的課程,在線零距離接觸千鋒教育大咖名師,讓你輕松從入門(mén)到精通。

tags:
聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請(qǐng)您保持通訊暢通,專屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
免費(fèi)領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
抖音小店照片要求尺寸多大

在抖音平臺(tái)開(kāi)設(shè)小店已經(jīng)成為了越來(lái)越多人的選擇,相信大家已經(jīng)在各大社交平臺(tái)上看到有不少小店的推廣。在抖音上,照片是展示產(chǎn)品的重要手段,因...詳情>>

2023-10-08 16:14:25
抖音招商團(tuán)長(zhǎng)托管服務(wù)費(fèi)怎么退回來(lái)

抖音招商團(tuán)長(zhǎng)托管服務(wù)是抖音為有意愿創(chuàng)作內(nèi)容并帶動(dòng)其他創(chuàng)作者成為團(tuán)隊(duì)成員的用戶提供的一種服務(wù)。通過(guò)該服務(wù),招商團(tuán)長(zhǎng)可以自主組建團(tuán)隊(duì)并得到...詳情>>

2023-10-08 16:08:53
抖音小店怎么做代銷

抖音已經(jīng)成為了一個(gè)非常受歡迎的短視頻應(yīng)用程序,在其中許多用戶都精心打造了自己的小店,用于銷售各種各樣的商品,獲取額外的收入。然而,要想...詳情>>

2023-10-08 15:28:41
怎樣開(kāi)抖音小店帶貨賺錢(qián)

隨著直播帶貨的火熱,越來(lái)越多的人開(kāi)始嘗試通過(guò)抖音小店來(lái)開(kāi)展帶貨業(yè)務(wù)。抖音小店是抖音直播帶貨的配套,可以讓用戶在購(gòu)買(mǎi)直播中產(chǎn)品時(shí)就實(shí)現(xiàn)購(gòu)...詳情>>

2023-10-08 15:06:36
能不能幫我打開(kāi)抖音小店店鋪呢怎么弄

抖音小店是近年來(lái)非常火爆的一個(gè)網(wǎng)絡(luò)業(yè)務(wù),也是提供了很多商業(yè)機(jī)會(huì)的平臺(tái)。對(duì)于一個(gè)創(chuàng)業(yè)者而言,開(kāi)設(shè)抖音小店是一個(gè)不錯(cuò)的選擇。但是,許多小店...詳情>>

2023-10-08 15:01:21
快速通道