使用类似api的paste webtest对活动站点进行测试

livetest的Python项目详细描述


受ian bicking优秀的WebTest启发,这是一个扩展,允许对运行的站点使用相同类型的简单pythonic测试。许多为webtest编写的测试都可以直接在livetest上使用。

这使得整个平台(应用服务器、负载平衡器、路由、dns等)能够被测试,而不仅仅是内部wsgi应用程序。

安装

简单如下:

$ easy_install livetest

或使用pip:

$ pip install livetest

或者获取开发版本:

$ easy_install livetest==dev

用法

仅使用主机名设置要测试的应用程序:

>>> import livetest
>>> app = livetest.TestApp('www.google.com')

像WebTest一样发出请求:

>>> resp = app.get('/')

抓取表单:

>>> resp.forms
{0: <webtest.Form object at 0x10118ac50>}
>>> form = resp.forms[0]
>>> form.fields
{'btnI': [<webtest.Submit object at 0x10118ae10>],
 'btnG': [<webtest.Submit object at 0x10118add0>],
 'q': [<webtest.Text object at 0x10118ad90>],
 'source': [<webtest.Hidden object at 0x10118ad10>],
 'hl': [<webtest.Hidden object at 0x10118acd0>],
 'ie': [<webtest.Hidden object at 0x10118ad50>]}

提交表格:

>>> form['q'] = 'python testing'
>>> resp = form.submit()

测试响应中的内容:

>>> resp.mustcontain('Agile', 'unittest', 'PyUnit')
>>> resp
<200 OK text/html body='<!doctype...v>  '/25498>
>>> resp.status
'200 OK'

学分

感谢爱德华戴尔(scompt)的各种修复。

许可证

LiveTest是在麻省理工学院的许可下发布的。有关详细信息,请参见许可文件 信息。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java将Map<String,String>传递给需要Map<String,Object>   java在循环中使用字符串而不是StringBuilder是否会造成内存损失?   jnlp如何更新java控制台JRE?   java更改、修改和重新打包CXFAPI源文件   JavaFXJava应用程序在Fedora上运行一段时间后关闭   使用来自不同类的方法的java   java如何通过ant脚本在linux中使用subst?   java在使用camunda modeler进行base64编码/解码时出错   获取java。netbeans、weblogic和fastswap设置为true时的lang.NoSuchMethodError   java如何提高FinalizerThread在GC中收集对象的优先级   java检测具有相同根的单词   netbeans crud应用程序中的java错误