问题标签 [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.

0 投票
1 回答
955 浏览

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 个项目

套餐

0 投票
0 回答
1322 浏览

python - aiohttp_client - RuntimeError:超时上下文管理器应该在任务中使用

我在做什么

我正在通过构建一个 REST api 来学习 aiohttp,我正在使用 Pytest(及其 async 和 aiohttp 插件)对其进行测试。

对于我的第一个测试(我从一开始就使用 TDD),我有以下代码:

  • aiohttp_client是来自的客户端夹具pytest-aiohttp
  • init_test_app是一个基本上反映了我将要构建的应用程序的夹具
  • create_test_user_table是我在测试数据库中为用户创建表的装置

它出了什么问题

我的第一个测试是在上面代码块的最后一行抛出以下运行时错误:

从错误消息中,我了解到客户端正在尝试使用异步超时上下文管理器,但这失败了,因为我没有在任务中调用它。

我不知道我的推论是否正确。

而且,我对 asyncio 不太满意,不知道如何解决这个问题。

如果有人告诉我出路,我将不胜感激。


更多信息

这是我的测试文件的源代码:

这是运行时错误的完整跟踪(以及弃用警告 - 我也会很感激获得帮助:))

0 投票
0 回答
514 浏览

python - 使用异步夹具测试 aiohttp 服务器

我正在尝试使用pytest-aiohttp来测试我aiohttp的基于 REST API。有一个/authenticate端点,它返回一个身份验证令牌,基本上所有其他端点都需要授权标头中的令牌。我有以下完美运行的测试:

然而,这不是很干燥。我想对所有测试使用相同的授权令牌,因此我认为夹具是一个不错的选择。所以我尝试了以下代码:

但是,这会导致异常RuntimeError: Timeout context manager should be used inside a task。我曾尝试查看这个看似相关的答案,但我不确定它是否完全适用于我的情况。如果是的话,我不太明白如何将它应用到我的代码中。任何帮助,将不胜感激!

0 投票
1 回答
1541 浏览

multipart - 通过 aiohttp 发送多部分请求

我试图为我的视图制作测试用例,现在我将使用包含用户图像的用户凭据发送多部分请求。我使用 MultipartWriter,但是,当我尝试阅读部分时,我得到的部分是无。我确定我的测试用例写错了。
感谢您的帮助,并为我糟糕的英语感到抱歉。

我的测试用例:

起始视线:

0 投票
2 回答
639 浏览

python - 在 Python3.5 asyncio 中等待后无法访问 Http 请求数据

我一直在尝试使用 Python3.5 aiohttp 并编写了这个简单的包装函数 -

然后,我有以下使用此功能的代码-

问题是res.json()orres.text()返回一个协程。访问类似的属性res.status效果很好,但是text()或者json()返回一个我无法从中检索实际响应的协程。

我想我可能不明白一些事情,但我认为等待未来应该在它准备好时返回实际值。

我哪里错了?

0 投票
0 回答
201 浏览

proxy - 如何在 aiohttp 中使用 auth 代理向 https 网站发出请求?

我正在尝试使用身份验证代理向 https 网站发出请求,但我收到以下错误。正如他们在 aiohttp 文档中提到的那样,没有 https 代理支持,所以我想知道这个问题是否有任何解决方案。这也是我的代码。

这就是我得到的错误:

0 投票
0 回答
136 浏览

python-3.x - 将 https 代理与 aiohttp 一起使用

我需要从 https url 获取数据。我了解到 aiohttp 不支持 https 代理。有没有办法克服这个。我已经阅读了很多以前的回复,但找不到任何东西。

我有这样的代理

0 投票
0 回答
768 浏览

python - 如何解决 aiohttp 或 aiogram 的问题?

aiogram.utils.exceptions.NetworkError:Aiohttp 客户端抛出错误:ClientConnectorError:无法连接到主机 api.telegram.org:443 ssl:默认 [超过信号量超时] 我在运行电报机器人的代码时遇到此错误。然后,我再次安装了 aiohttp。它已经消失了。但这里还有另一个问题。当我运行电报机器人的代码时,机器人不工作。他没有回答我的命令,但控制台没有错误。没有错误 - 但机器人不起作用。
有人可以帮我解决这个问题吗?我感谢任何建议和提示。Python-3.8v

代码:

0 投票
1 回答
41 浏览

python - Faust.web API 服务器挂起异常

我是 Python 和 Faust 的新手。我们正在使用 Faust.web 开发我们的 API。一切似乎都在工作,除了例外。

问题是,当我们运行 API 服务器并从 Postman 访问导致代码异常的 API 时,我们正确地得到 500 状态代码。但是当我们下次访问相同的 API 时,Postman 会等待响应,直到 API 超时。

请帮忙!

0 投票
0 回答
93 浏览

python-3.x - aiohttp 不断的得到 403

当我发布我的会话信息时,我得到了 200 个箭头。但是当我向不同的 url 发出请求时,我得到 403。如果你能提供帮助,我将不胜感激。

我正在用请求库做这个的同步版本。我正在得到结果。谢谢你为我做的一切。

输出: