首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >python webtest端口配置?

python webtest端口配置?
EN

Stack Overflow用户
提问于 2010-05-05 22:46:14
回答 3查看 1.3K关注 0票数 4

我正在尝试使用webtest编写一些测试来测试我的python GAE应用程序。我遇到的问题是应用程序正在侦听端口8080,但我无法配置webtest来访问该端口。

例如,我想使用app.get('/getreport')来访问http://localhost:8080/getreport。显然,它只命中http:// localhost/getreport。

有没有办法将webtest设置为访问特定的端口?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-05-05 22:49:09

config,我引用一下,

代码语言:javascript
复制
port

需要

吗?否,默认值为"80“

定义用于执行请求的端口号,例如"8080“。

编辑:用户澄清说他们指的是this webtest (pythonpaste的),而不是广泛使用的Canoo应用程序。我不会猜到的,因为pythonpaste的网络测试是完全不同的一回事,我引用...:

使用此工具,您可以在不启动

服务器的情况下测试您的web应用程序,也不需要查看web框架中需要测试的应用程序片段的快捷方式。WebTest运行的测试完全等同于WSGI HTTP服务器调用应用程序的方式

没有启动HTTP服务器,也没有“端口”的概念--在WSGI级别的进程中运行的东西,没有实际的TCP/IP和HTTP。因此,“应用程序”没有监听端口8080 (或任何其他端口),而是直接调用它的WSGI入口点,“就像”HTTP服务器正在调用它们一样。

如果您想测试一个实际运行的HTTP服务器,那么您需要Canoo的webtest (或其他等效的框架),而不是pythonpaste的--后者可以避免任何套接字层和HTTP层开销,从而加快测试速度,但是您不能以这种方式测试一个单独的、现有的、正在运行的服务器(比如GAE的SDK)。

票数 2
EN

Stack Overflow用户

发布于 2010-05-06 09:57:03

使用paste.proxy.TransparentProxy,您可以测试任何响应http请求的内容...

代码语言:javascript
复制
from webtest import TestApp
from paste.proxy import TransparentProxy
testapp = TestApp(TransparentProxy())
res = testapp.get("http://google.com")
assert res.status=="200 OK","failure....."
票数 4
EN

Stack Overflow用户

发布于 2010-05-05 23:18:42

我想你误解了WebTest是做什么的。像app.get('/getreport')这样的东西不应该在任何端口上向localhost发出任何类型的请求。WebTest的美妙之处在于,它不要求您的应用程序实际运行在任何服务器上。

以下是WebTest文档的"What This Does" section中的一句话:

使用此工具,您可以在不启动

服务器的情况下测试您的web应用程序,也不需要查看web框架中需要测试的应用程序片段的快捷方式。WebTest运行的测试完全等同于WSGI HTTP服务器调用应用程序的方式。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2774249

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档