複数のユーザーによるテストの実行

locustfile には複数のユーザーが存在します

from locust import task, HttpUser


class User01(HttpUser):
    weight = 3  # 权重
    host = 'https://www.baidu.com'

    @task
    def user_01_task(self):
        self.client.get(url='/', name='user_01_task')


class User02(HttpUser):
    weight = 1  # 权重
    host = 'https://www.qq.com'

    @task
    def user_02_task(self):
        self.client.get(url='/', name='user_02_task')

  • 2 人のユーザーが定義されておりhost、実行時にホストを省略できます。
  • 定義されweight、前セクションでタスクに設定された重みと同じように、実行時にユーザー割り当て比率が 3:1 に従って実行されます

  • の結果

--class-picker を使用して実行を指定します

  • locust を実行するコマンドは --class-picker パラメータを使用し、Web-UI の起動時に実行する UserClasses を手動で選択できます。
$ locust -f locustfiles/multiple_user.py --class-picker 

  • no-ui モードの場合は、コマンドで実行された UserClasses を直接指定することもできます。
$ locust -f locustfiles/multiple_user.py --class-picker User02 User01 --headless -u 20 -r 20 -t 5s
[2023-07-28 12:17:00,956] HUAWEI-MateBook-X-Pro.local/INFO/locust.runners: Ramping to 20 users at a rate of 20.00 per second
[2023-07-28 12:17:00,957] HUAWEI-MateBook-X-Pro.local/INFO/locust.runners: All users spawned: {"User01": 15, "User02": 5} (20 total users)
  • コマンドパラメータの説明
    1. --headless no-ui モードを実行し、すぐにテストを開始します
    2. -u は、同時実行するユーザーの最大数を指定します。
    3. -r 1 秒あたりに開始されたユーザーの数
    4. -t テストを実行する時間

まとめ

  1. weight1 つの locustfile 内に複数のテスト ユーザー クラスを定義でき、デフォルトの実行比率は 1:1 で、属性を使用して実行比率を変更できます。
  2. locustfile に複数のユーザー クラスがある場合、 --class-picker コマンド パラメーターを使用して、テストを実行するためにどのユーザー クラスを実行するかを選択できます。
  3. ここで no-ui 実行について言及しています。一般に、ストレス テストは実際の作業ではクラウド サーバー上で実行され、locust は no-ui を通じて実行する --headless コマンドも提供するためです。
  4. User クラスのホストに値を割り当てた後は、実行時に locust のホストを設定する必要はありません。
  5. Locust はより多くのコマンド パラメータを使用するため、注意深く読んで、次の方法でlocust -h確認することをお勧めします。

最後に:以下の完全なソフトウェア テスト ビデオ チュートリアルが整理されてアップロードされており、必要な友人は自分で入手できます[100% 無料保証]

ソフトウェアテストの面接ドキュメント

私たちは高給の仕事を見つけるために勉強しなければなりません。次の面接の質問は、アリ、テンセント、バイトなどの一流インターネット企業からの最新の面接資料であり、一部のバイトの上司が権威ある回答をしています。このセットを完了してください。面接資料は誰もが満足のいく仕事を見つけることができると信じています。

おすすめ

転載: blog.csdn.net/m0_67696270/article/details/131947328