如何在蝗虫中执行网络身份验证?
How to perform web-auth in locust?
我正在查看 Locust Documentation,配置中的标志之一是
--web-auth WEB_AUTH Turn on Basic Auth for the web interface. Should be
supplied in the following format: username:password
我查看了它的 github 存储库以了解如何使用此功能,locust/main.py 中的相关部分具有以下代码
web_ui = environment.create_web_ui(
host=web_host,
port=options.web_port,
auth_credentials=options.web_auth,
tls_cert=options.tls_cert,
tls_key=options.tls_key,
stats_csv_writer=stats_csv_writer,
delayed_start=True,
)
我也查看了 pull request that enabled this flag. In the tests,我看到传入了硬编码用户 id/password。
这并没有给我关于如何在蝗虫中使用网络身份验证的好主意,因为我期望网络身份验证的处理函数接收 user/password 组合 returns true/false
或roles
为组合,但我没有看到任何这样的东西。
我在这里遗漏了什么吗?
Locust 的 --web-auth
参数与启用使用 Locust 网络所需的身份验证有关 UI,以保护网站安全,而不只是任何有权访问您所在位置的人 运行 来自的蝗虫可能会扰乱您的测试或查看结果。访问 Locust UI 时需要您指定的用户名和密码。它旨在为单个用户提供一种快速简便的保护方式,因此它只需要一个用户名和密码。
如果您正在寻找如何在您的测试中使用 Basic Auth 进行网络请求,Locust is based on Python Requests 那么这样的事情应该有所帮助:
https://www.geeksforgeeks.org/authentication-using-python-requests/
编辑:
Locust UI 并不是真正为开箱即用的多个用户设计的。根据我的经验,访问 UI 的最后一个用户会得到一个工作页面,而之前一直在工作的任何其他人都会因奇怪的行为而中断,包括数据不一致或没有数据。我通过在 UI 前面设置一个 nginx 反向代理来解决它。您可以这样做,让 nginx 代替 Locust 本身执行身份验证。这样的事情可能会奏效:
https://www.tecmint.com/setup-nginx-basic-http-authentication/
我正在查看 Locust Documentation,配置中的标志之一是
--web-auth WEB_AUTH Turn on Basic Auth for the web interface. Should be
supplied in the following format: username:password
我查看了它的 github 存储库以了解如何使用此功能,locust/main.py 中的相关部分具有以下代码
web_ui = environment.create_web_ui(
host=web_host,
port=options.web_port,
auth_credentials=options.web_auth,
tls_cert=options.tls_cert,
tls_key=options.tls_key,
stats_csv_writer=stats_csv_writer,
delayed_start=True,
)
我也查看了 pull request that enabled this flag. In the tests,我看到传入了硬编码用户 id/password。
这并没有给我关于如何在蝗虫中使用网络身份验证的好主意,因为我期望网络身份验证的处理函数接收 user/password 组合 returns true/false
或roles
为组合,但我没有看到任何这样的东西。
我在这里遗漏了什么吗?
Locust 的 --web-auth
参数与启用使用 Locust 网络所需的身份验证有关 UI,以保护网站安全,而不只是任何有权访问您所在位置的人 运行 来自的蝗虫可能会扰乱您的测试或查看结果。访问 Locust UI 时需要您指定的用户名和密码。它旨在为单个用户提供一种快速简便的保护方式,因此它只需要一个用户名和密码。
如果您正在寻找如何在您的测试中使用 Basic Auth 进行网络请求,Locust is based on Python Requests 那么这样的事情应该有所帮助:
https://www.geeksforgeeks.org/authentication-using-python-requests/
编辑: Locust UI 并不是真正为开箱即用的多个用户设计的。根据我的经验,访问 UI 的最后一个用户会得到一个工作页面,而之前一直在工作的任何其他人都会因奇怪的行为而中断,包括数据不一致或没有数据。我通过在 UI 前面设置一个 nginx 反向代理来解决它。您可以这样做,让 nginx 代替 Locust 本身执行身份验证。这样的事情可能会奏效:
https://www.tecmint.com/setup-nginx-basic-http-authentication/