要测试我的API,我需要在查看器URL上发送一个请求,在该URL上有一个跟踪服务,该服务可以告诉我API在页面上花费了多少时间(经典)。
我的测试中有这个小功能:
def does_it_track(response, **kwargs):
# some unrelated actions
r = requests.get('my_viewer_url')
此请求可以正常工作,但只能持续不到一秒钟,并且不允许我测试统计信息生成器,也不能测试跟踪器精度。
我尝试过:
睡眠方法(但是我得到了has no attribute 'sleep'
要重复发送请求,但显然会创建多个统计信息,而我只需要一个较长的统计信息
有人知道让我的请求在我的页面上等待的“简单方法”吗?
我是python 2.7
谢谢!
答案 0 :(得分:0)
尝试使用VCR,它可以帮助您解决问题。 确实,您将能够保存您的请求并查看正在发生的事情。
答案 1 :(得分:0)
“您在页面上花费了多少时间”与HTTP请求/响应周期无关,而与浏览器无关。
从服务器的角度来看,服务器获取请求,返回响应,作业已结束,期限-从客户端的角度来看,一旦服务器返回响应,HTTP事务也结束了。这里甚至没有“页面”的概念,只有HTTP请求和响应。
(显然)您的“跟踪器”使用javascript从浏览器本身发送数据(很可能是每隔X秒发送一次请求,指示该页面仍显示在浏览器中)。 IOW,唯一的测试方法是使用将执行javascript的无头浏览器。