使用 CasperJS 和配置文件的前端无头浏览器测试?

Frontend headless browser testing using CasperJS and configuration-files?

我尝试使用 CasperJS 使用 PhantomJS 进行无头浏览器测试,并希望有一个配置文件或其他东西来更改网站 URL、用户名密码等。所以最后我找到了 NuclearJS。你们知道任何其他完美的方法吗?如果我想从头写一个也想了解一下。

我得到了一个使用多个配置文件(用于选择器、执行、桌面、移动等)的解决方案(不完美;))。
我在执行我的 casperjs 测试时包含了一个文件,该文件为我提供了我需要的所有配置(我在那里还包含了全局函数)。 让我们猜测测试执行看起来像这样:

    casperjs test --includes=loadGlobals.js test_1.js

在那个例子中 loadGlobals.js 包含这样的函数:

    var fs = require('fs');
    var config = {},
      configFile = fs.read('config.json');
    config = JSON.parse(configFile);

config.json 可能是这样的:

    {
        "url": "http://www.yourTestUrl.com",
        "variable_1": "bla",
        "variable_2": "blub",
        "nextTier": {
            "variable_1": "blablub"
        }
    }

现在你可以在test_1.js中调用config.json的变量了:

casper.start(config.url, function() {
  casper.then(function() {
    casper.echo(config.variable_1);
    casper.echo(config.variable_2);
    casper.echo(config.nextTier.variable_1);
  });
})
casper.run();

您可以使用不同的配置文件,如果需要,甚至可以在测试期间覆盖它。
测试应该以页面对象模式风格编写,因此它们是高度可维护的,尤其是外包配置。


NuclearJS 我不知道,但我也会研究一下。