CasperJS 中 if/else 语句的测试结果

Results of a test in an if/else statement in CasperJS

我有一个测试this.test.assertExists("blablabla");

如何在 if/else 语句中使用此测试的结果?换句话说,我希望程序在测试通过时做一件事,如果失败则做另一件事。

CasperJS 提供大多数 casper.test.assert* 函数作为独立函数 casper.*

你可以这样使用它

if (casper.exists("#selector")) {
    casper.test.pass("selector existed");
    // TODO: do something
} else {
    casper.test.fail("selector existed");
    // TODO: do something else
}

我不认为测试应该以这种方式工作。但是你可以做的是使用 CasperJS 中的一些函数来复制一些 if/else 语句来做你想做的事。

例如,您可以使用__utils__对象来检查属性或获取DOM中对象的值。下面是查看复选框是否被选中的示例代码:

function isChecked(selector)
{
    return __utils__.findOne(selector).checked;
}

在您的示例中,您可以使用 casper.exists 函数查看 DOM:

中是否存在选择器
if (casper.exists('#your_selector'))
{
    // do something
}
else
{
    // do a different thing
}