我一直在寻找执行一些基本自动化测试的方法:
- 给定页面是否具有预期的 HTTP 状态(通常为 200)
- 相关文件是否有任何问题(已使用文件的 HTTP 状态,例如 JS、CSS、图像、字体……)
- 加载页面时是否有任何 JS 错误
许多常用的工具(例如 Selenium)似乎不支持这些测试,所以我真的不知道从哪里开始......有谁知道覆盖这些测试的简单解决方案?
我们已经成功地使用 Mocha 设置了单元测试。
网址:http: //visionmedia.github.io/mocha/
问题 1:检查 HTTP 状态
我找到了一个替代方案:superagent https://github.com/visionmedia/superagent
该模块允许您执行基本的 HTTP 请求并为您提供您可能期望的所有信息。您可以使用它来检查任何类型的标头(即,当您在请求中设置“accept-type: application/json”时检查您是否正在获取 JSON 数据)
request
.get('http://mywebsite/')
.end(function (res) {
assert.strictEqual(res.statusCode, 200);
done();
});
问题 2:检查丢失的文件
目前还没有可行的解决方案,但我们正在研究 node.js 爬虫来完成这项工作: https ://nodejsmodules.org/tags/crawling
问题 3:检查 Javascript 错误
我们现在使用一个通用的错误处理程序(window.onerror),它将所有 JS 错误存储在一个全局变量中。WebdriverJS(用 Node.JS 编写的 Selenium 客户端)允许您注入 JS 来检索此信息。这是我们的代码:
client
.execute("return typeof window.errors", [], function (err, output) {
assert.isNull(err);
assert.strictEqual(output.value, "undefined");
})
.call(done);