2

我一直在寻找执行一些基本自动化测试的方法:

  • 给定页面是否具有预期的 HTTP 状态(通常为 200)
  • 相关文件是否有任何问题(已使用文件的 HTTP 状态,例如 JS、CSS、图像、字体……)
  • 加载页面时是否有任何 JS 错误

许多常用的工具(例如 Selenium)似乎不支持这些测试,所以我真的不知道从哪里开始......有谁知道覆盖这些测试的简单解决方案?

4

1 回答 1

0

我们已经成功地使用 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);
于 2013-10-18T08:50:03.600 回答