在虚拟环境中,我安装了locust。我想创建可分发的包,这样任何用户都可以运行负载测试。我使用了pyinstaller。exe文件已创建,但当我运行它时,什么也没有发生。
from locust import HttpUser, TaskSet, task
import orjson as json
def create_post(self):
paramsDict = {}
paramsDict = json.loads('{ ...myjson.. }')
params = json.dumps(paramsDict) #for orjson
headers = {'content-type': 'application/json','Accept-Encoding':'gzip'}
response = self.client.post("/",data= params, headers=headers, name = "Post query")
print(f'response -> {response}')
class WebsiteUser(HttpUser):
tasks = [create_post]正如Axel指出的那样,我使用蝗虫作为库。我使用pyinstaller构建,测试运行时网页不显示
I build with pyinstaller but web did not appear `response -> <Response [200]>
Traceback (most recent call last):
File "gevent\pywsgi.py", line 999, in handle_one_response
File "gevent\pywsgi.py", line 945, in run_application
File "flask\app.py", line 2464, in __call__
File "flask\app.py", line 2450, in wsgi_app
File "flask\app.py", line 1867, in handle_exception
File "flask\_compat.py", line 39, in reraise
File "flask\app.py", line 2447, in wsgi_app
File "flask\app.py", line 1952, in full_dispatch_request
File "flask\app.py", line 1821, in handle_user_exception
File "flask\_compat.py", line 39, in reraise
File "flask\app.py", line 1950, in full_dispatch_request
File "flask\app.py", line 1936, in dispatch_request
File "locust\web.py", line 419, in wrapper
File "locust\web.py", line 132, in index
File "flask\templating.py", line 138, in render_template
File "jinja2\environment.py", line 930, in get_or_select_template
File "jinja2\environment.py", line 883, in get_template
File "jinja2\environment.py", line 857, in _load_template
File "jinja2\loaders.py", line 115, in load
File "flask\templating.py", line 60, in get_source
File "flask\templating.py", line 89, in _get_source_fast
jinja2.exceptions.TemplateNotFound: index.html
2021-01-11T11:29:52Z {'REMOTE_ADDR': '127.0.0.1', 'REMOTE_PORT': '61083', 'HTTP_HOST': 'localhost:8089', (hidden keys: 31)} failed with TemplateNot模板需要包含在构建中。到规范文件,我添加到数据部分,以及静态与java脚本和css
datas=[('<path>\\Lib\\site-packages\\locust\\templates', 'locust\\templates'),('<path>\\Lib\\site-packages\\locust\\static', 'locust\\static')],使用Inno设置,我还将这些文件添加到文件夹中,使其与可执行文件位于同一文件夹中。并显示网页。
发布于 2021-01-10 15:06:36
这一切都取决于你期望如何执行你的测试,以及你真正的包装是什么。蝗虫有不同的用法。假设您想要将测试文件打包为可执行文件,则可能需要在文件中包含一个使用locust作为library的主入口点
如果您正在打包locust本身和包括测试文件在内的virtualenv,则可能需要指定如何将locust作为命令运行,并将测试文件作为命令行参数传递
https://stackoverflow.com/questions/65637571
复制相似问题