如何检查是否存在多个元素之一?

时间:2014-10-31 02:54:18

标签: javascript testing casperjs

如何检查其中一个元素是否存在?

我知道有一个函数assertExists,但它只检查一个特定元素。我需要检查一个页面上是否存在三个元素之一(例如,我有一个登录链接,它对于不同的站点具有不同的类别,但通常我可以将这些站点分为三个类别)。有没有'和/或'可插入assertExists

的条件

1 个答案:

答案 0 :(得分:1)

你总是喜欢CasperJS的多种方法来实现这一目标。

最通用的方法是使用casper.exists

test.assert(casper.exists("selector1") || casper.exists("selector2")); // 1
test.assert(casper.exists("selector1") && casper.exists("selector2")); // 2

然后你可以使用,连接两个CSS选择器或|连接两个XPath表达式,这样就可以进行OR操作

test.assertExists("selector1, selector2");
test.assertExists(x("selector1 | selector2"));

如果你想在选择器之间使用AND运算符,你可以将它分成两个语句,因为你正在测试,其中一个会失败:

test.assertExists("selector1");
test.assertExists("selector2");

我只使用了两个选择器,但对于3个或更多选择器也是如此。