3

我正在开发一个 node.js 守护进程,它提供一个 html 页面(启用 ajax),它通过 web 表单上传(基于 html5 的)文件,该守护进程还处理与相关的所有 PUT、POST、OPTIONS 和 GET 请求文件上传和状态查询(不一定来自它服务的网页,任何客户端都可以通过http交互)

我想通过将服务器本身(例如它是 node.js 的事实)视为黑匣子来以编程方式测试一大堆东西。

输入如下:

  • json 配置文件中不存在、为空或各种类型(不正确)的配置值
  • 使用不同的命令行参数运行程序
  • 与网页交互(导航到它,单击按钮,从文件选择对话框中选择特定文件,单击确定等,这将在后台导致许多 http 请求)
  • 以编程方式执行“原始”http请求

然后通过以下方式验证事物的行为是否符合预期:

  • 在日志文件中查找条目
  • 检查 $num 的进程是否(仍在)运行
  • 检查所有请求的 http 响应代码。(包括后台的所有ajaxy-one,或对测试中定义的单个请求的响应)
  • 任意命令(例如从网络服务器下载文件并对其进行 md5summing)

我一直在寻找一些选择:

  • cucumber 经常出现这种话题,但似乎很冗长,而且太针对商务人士。
  • httpunit 似乎假设系统正在使用一种特定配置运行
  • rspec 似乎是用于白盒测试红宝石
  • vows 太基础了,没有浏览器自动化

如果有人有建议,我将不胜感激

谢谢迪特

4

1 回答 1

0

一个通用的解决方案可能是http://robotframework.org/以及一些标准和外部库,如各种 http 和 selenium 库:http ://robotframework.org/#test-libraries

于 2013-11-08T07:11:25.553 回答