TypeError:应为字符串或bytesformatted键

2024-10-04 11:35:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在练习API测试,并尝试运行以下测试

def test_login_user(self):
    with self.app as client:
        with self.app_context():

            client.post('/register',data={'username':'test','password':'1234'})

            auth_response=client.post('/auth',
                                     data=json.dumps({'username':'test','password':'1234'}),
                                     headers={'content-type': 'application/json'})

            self.assertIn('access_token',json.loads(auth_response.data).keys())

以暂停错误结束:

Error Traceback (most recent call last): File "c:\python39\lib\unittest\case.py", line 59, in testPartExecutor yield File "c:\python39\lib\unittest\case.py", line 593, in run self.callTestMethod(testMethod) File "c:\python39\lib\unittest\case.py", line 550, in callTestMethod method() File "C:\Users\Admin\Flask\app\RestAPI\tests\system\test_user.py", line 28, in test_login_user auth_response=client.post('/auth', File "C:\Users\Admin\Envs\MyStoreFW\lib\site-packages\werkzeug\test.py", line 1016, in post return self.open(*args, **kw) File "C:\Users\Admin\Envs\MyStoreFW\lib\site-packages\flask\testing.py", line 222, in open return Client.open( File "C:\Users\Admin\Envs\MyStoreFW\lib\site-packages\werkzeug\test.py", line 970, in open response = self.run_wsgi_app(environ.copy(), buffered=buffered) File "C:\Users\Admin\Envs\MyStoreFW\lib\site-packages\werkzeug\test.py", line 861, in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) File "C:\Users\Admin\Envs\MyStoreFW\lib\site-packages\werkzeug\test.py", line 1096, in run_wsgi_app app_rv = app(environ, start_response) File "C:\Users\Admin\Envs\MyStoreFW\lib\site-packages\flask\app.py", line 2464, in call return self.wsgi_app(environ, start_response) File "C:\Users\Admin\Envs\MyStoreFW\lib\site-packages\flask\app.py", line 2450, in wsgi_app response = self.handle_exception(e) File "C:\Users\Admin\Envs\MyStoreFW\lib\site-packages\flask_restful_init.py", line 272, in error_router return original_handler(e) File "C:\Users\Admin\Envs\MyStoreFW\lib\site-packages\flask\app.py", line 1867, in handle_exception reraise(exc_type, exc_value, tb) File "C:\Users\Admin\Envs\MyStoreFW\lib\site-packages\flask_compat.py", line 39, in reraise raise value File "C:\Users\Admin\Envs\MyStoreFW\lib\site-packages\flask\app.py", line 2447, in wsgi_app response = self.full_dispatch_request() File "C:\Users\Admin\Envs\MyStoreFW\lib\site-packages\flask\app.py", line 1952, in full_dispatch_request rv = self.handle_user_exception(e) File "C:\Users\Admin\Envs\MyStoreFW\lib\site-packages\flask_restful_init.py", line 272, in error_router return original_handler(e) File "C:\Users\Admin\Envs\MyStoreFW\lib\site-packages\flask\app.py", line 1821, in handle_user_exception reraise(exc_type, exc_value, tb) File "C:\Users\Admin\Envs\MyStoreFW\lib\site-packages\flask_compat.py", line 39, in reraise raise value File "C:\Users\Admin\Envs\MyStoreFW\lib\site-packages\flask\app.py", line 1950, in full_dispatch_request rv = self.dispatch_request() File "C:\Users\Admin\Envs\MyStoreFW\lib\site-packages\flask\app.py", line 1936, in dispatch_request return self.view_functionsrule.endpoint File "C:\Users\Admin\Envs\MyStoreFW\lib\site-packages\flask_jwt_init_.py", line 125, in _default_auth_request_handler access_token = jwt.jwt_encode_callback(identity) File "C:\Users\Admin\Envs\MyStoreFW\lib\site-packages\flask_jwt_init.py", line 70, in _default_jwt_encode_handler return jwt.encode(payload, secret, algorithm=algorithm, headers=headers) File "C:\Users\Admin\Envs\MyStoreFW\lib\site-packages\jwt\api_jwt.py", line 55, in encode return super(PyJWT, self).encode( File "C:\Users\Admin\Envs\MyStoreFW\lib\site-packages\jwt\api_jws.py", line 98, in encode key = alg_obj.prepare_key(key) File "C:\Users\Admin\Envs\MyStoreFW\lib\site-packages\jwt\algorithms.py", line 116, in prepare_key raise TypeError('Expecting a string- or bytes-formatted key.') TypeError: Expecting a string- or bytes-formatted key.

我探索了所有相关的解决方案,但未能解决问题。请帮忙


Tags: inpyselfappflaskadminlibpackages