使用类似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是在麻省理工学院的许可下发布的。有关详细信息,请参见许可文件 信息。