この記事では、主にPythonで自動パフォーマンステストを実装する方法を紹介します。この記事のサンプルコードの組み合わせにより、特定の参照値を持つ詳細を紹介し、それを必要とする友人がそれを参照できます。
過負荷のオペレーティングシステムでのパフォーマンスシステムの負荷容量の安定性手動ではなくプログラムを使用したボトルネック自動テストによるテスト効率の向上コードを使用したパフォーマンスの自動化により、多数のユーザーを同時にシミュレートし、複数のユーザーが同時に収集パラメーターを要求できるようにします。レポートを生成するための負荷容量。
2. Pythonのパフォーマンス自動化テストライブラリ?
ローカストライブラリ
Pythonを使用してコードを使用し、ユーザーのバッチを作成します。分散パフォーマンスは複数のサーバーでテストできます。拡張性が高く、安定しており、広く使用されています。さまざまなシナリオでのテストに耐えることができます。WebUIインターフェイスに基づいて、システム。。
1.イナゴをインストールします
公式のpypiソースを使用してインストールします
pipインストールlocustio
Douban pypiソースを使用してインストールします(推奨)
pip install -i https://pypi.douban.com/simplelocustio
インストールが成功すると、新しいコマンドがcmdコンソールに追加されます。次のコマンドを入力して表示できます。
イナゴ--help
プロジェクトのルートディレクトリにlocustfile.pyファイルを作成します
from locust import Locust, TaskSet, task
class MyTasks(TaskSet):
"""
创建测试任务类,需要继承TaskSet
可以添加多个测试任务
"""
# 每个测试任务,往往会以实例方法的形式来呈现
# 同时需要使用task装饰器来装饰测试任务
@task
def one_task(self):
print("执行一个伟大的测试任务!")
class RunTasks(Locust):
"""
创建运行测试类,需要继承Locust父类
"""
task_set = MyTasks # 指定测试任务类,使用task_set覆盖父类的类属性
min_wait = 2000 # 指定启动任务间隔的时间范围(单位毫秒):2~5秒之间
max_wait = 5000 # 使用min_wait、max_wait覆盖父类的类属性
1.自動テストスクリプトを作成し、プロジェクトのルートディレクトリにtest_load.pyファイルを作成します
from locust import HttpLocust, TaskSet, task
class AdminLoadTest(TaskSet):
"""
创建后台管理站点压测类,需要继承TaskSet
可以添加多个测试任务
"""
def login(self):
"""
登录实例方法
:return:
"""
self.client.post("http://localhost:8088/users/login/",
{"user_account": "admin", "password": "123456"})
def logout(self):
"""
登出实例方法
:return:
"""
self.client.get("http://localhost:8088/users/logout/")
def on_start(self):
"""
当任何一个task调度执行之前,
on_start实例方法会被调用
先登录
:return:
"""
self.login()
def on_stop(self):
"""
当任何一个task调度执行之后,
on_stop实例方法会被调用
后登出
:return:
"""
self.logout()
@task
def admin_index(self):
"""
对后台主页进行压测
:return:
"""
self.client.get("http://localhost:8088/admin/")
class RunLoadTests(HttpLocust):
"""
创建运行压测类
"""
task_set = AdminLoadTest
イナゴはストレステストに非常に強力です。分散展開をサポートし、ストレステスト用のシンプルなインターフェイスを提供します。作成が非常に簡単で、美しく詳細なチャート統計を構成するためのUIインターフェイスを提供します。
上記は、エディターが紹介したPythonでの自動パフォーマンステストの実装がいかに簡単かということです。皆さんのお役に立てば幸いです。
私はPython開発エンジニアであり、Web開発、クローラー、データ分析、データ視覚化、機械学習、インタビューコレクションへの基本的なPythonスクリプトを含む、最新のPythonシステム学習チュートリアルのセットをまとめました。これらの資料が必要な場合は、エディターに注意を払い、Qスカート851211580を追加してPythonの学習資料と学習ビデオを入手し、偉大な神からのオンラインガイダンスを入手してください。