问题标签 [pytest-aiohttp]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 如何使用 pytest aiohttp 在 python 中运行异步 http 测试
我想测试对我不拥有的 api 的 http 调用(集成测试)。我创建了一个带有异步函数的类,该函数使用 aiohttp 进行 http 调用。然后我做了一个测试用例来运行这个函数并断言它的状态。
测试/test_coinbase.py:
src/coinbase.py:
当我在我的根项目中运行以下命令时,我得到以下信息。
平台 darwin -- Python 3.7.4, pytest-5.3.5, py-1.8.1, pluggy-0.13.1 rootdir: /Users/helloworld/Krypto plugins: aiohttp-0.3.0 收集 0 个项目
套餐
python - aiohttp_client - RuntimeError:超时上下文管理器应该在任务中使用
我在做什么
我正在通过构建一个 REST api 来学习 aiohttp,我正在使用 Pytest(及其 async 和 aiohttp 插件)对其进行测试。
对于我的第一个测试(我从一开始就使用 TDD),我有以下代码:
aiohttp_client
是来自的客户端夹具pytest-aiohttp
init_test_app
是一个基本上反映了我将要构建的应用程序的夹具create_test_user_table
是我在测试数据库中为用户创建表的装置
它出了什么问题
我的第一个测试是在上面代码块的最后一行抛出以下运行时错误:
从错误消息中,我了解到客户端正在尝试使用异步超时上下文管理器,但这失败了,因为我没有在任务中调用它。
我不知道我的推论是否正确。
而且,我对 asyncio 不太满意,不知道如何解决这个问题。
如果有人告诉我出路,我将不胜感激。
更多信息
这是我的测试文件的源代码:
这是运行时错误的完整跟踪(以及弃用警告 - 我也会很感激获得帮助:))
python - 使用异步夹具测试 aiohttp 服务器
我正在尝试使用pytest-aiohttp
来测试我aiohttp
的基于 REST API。有一个/authenticate端点,它返回一个身份验证令牌,基本上所有其他端点都需要授权标头中的令牌。我有以下完美运行的测试:
然而,这不是很干燥。我想对所有测试使用相同的授权令牌,因此我认为夹具是一个不错的选择。所以我尝试了以下代码:
但是,这会导致异常RuntimeError: Timeout context manager should be used inside a task
。我曾尝试查看这个看似相关的答案,但我不确定它是否完全适用于我的情况。如果是的话,我不太明白如何将它应用到我的代码中。任何帮助,将不胜感激!
multipart - 通过 aiohttp 发送多部分请求
我试图为我的视图制作测试用例,现在我将使用包含用户图像的用户凭据发送多部分请求。我使用 MultipartWriter,但是,当我尝试阅读部分时,我得到的部分是无。我确定我的测试用例写错了。
感谢您的帮助,并为我糟糕的英语感到抱歉。
我的测试用例:
起始视线:
python - 在 Python3.5 asyncio 中等待后无法访问 Http 请求数据
我一直在尝试使用 Python3.5 aiohttp 并编写了这个简单的包装函数 -
然后,我有以下使用此功能的代码-
问题是res.json()
orres.text()
返回一个协程。访问类似的属性res.status
效果很好,但是text()
或者json()
返回一个我无法从中检索实际响应的协程。
我想我可能不明白一些事情,但我认为等待未来应该在它准备好时返回实际值。
我哪里错了?
proxy - 如何在 aiohttp 中使用 auth 代理向 https 网站发出请求?
我正在尝试使用身份验证代理向 https 网站发出请求,但我收到以下错误。正如他们在 aiohttp 文档中提到的那样,没有 https 代理支持,所以我想知道这个问题是否有任何解决方案。这也是我的代码。
这就是我得到的错误:
python-3.x - 将 https 代理与 aiohttp 一起使用
我需要从 https url 获取数据。我了解到 aiohttp 不支持 https 代理。有没有办法克服这个。我已经阅读了很多以前的回复,但找不到任何东西。
我有这样的代理
python - 如何解决 aiohttp 或 aiogram 的问题?
aiogram.utils.exceptions.NetworkError:Aiohttp 客户端抛出错误:ClientConnectorError:无法连接到主机 api.telegram.org:443 ssl:默认 [超过信号量超时] 我在运行电报机器人的代码时遇到此错误。然后,我再次安装了 aiohttp。它已经消失了。但这里还有另一个问题。当我运行电报机器人的代码时,机器人不工作。他没有回答我的命令,但控制台没有错误。没有错误 - 但机器人不起作用。
有人可以帮我解决这个问题吗?我感谢任何建议和提示。Python-3.8v
代码:
python - Faust.web API 服务器挂起异常
我是 Python 和 Faust 的新手。我们正在使用 Faust.web 开发我们的 API。一切似乎都在工作,除了例外。
问题是,当我们运行 API 服务器并从 Postman 访问导致代码异常的 API 时,我们正确地得到 500 状态代码。但是当我们下次访问相同的 API 时,Postman 会等待响应,直到 API 超时。
请帮忙!
python-3.x - aiohttp 不断的得到 403
当我发布我的会话信息时,我得到了 200 个箭头。但是当我向不同的 url 发出请求时,我得到 403。如果你能提供帮助,我将不胜感激。
我正在用请求库做这个的同步版本。我正在得到结果。谢谢你为我做的一切。
输出: