package com.codeborne.selenide.commands; import com.codeborne.selenide.Command; import com.codeborne.selenide.Condition; import com.codeborne.selenide.SelenideElement; import com.codeborne.selenide.impl.WebElementSource; import java.util.List; import static com.codeborne.selenide.commands.Util.argsToConditions; public class ShouldNot implements Command<SelenideElement> { private final String prefix; public ShouldNot() { this(""); } protected ShouldNot(String prefix) { this.prefix = prefix; } @Override public SelenideElement execute(SelenideElement proxy, WebElementSource locator, Object[] args) { if (args[0] instanceof String) { shouldNot(proxy, locator, (String) args[0], argsToConditions(args)); } else { shouldNot(proxy, locator, null, argsToConditions(args)); } return proxy; } protected void shouldNot(SelenideElement proxy, WebElementSource locator, String message, List<Condition> conditions) { for (Condition condition : conditions) { locator.checkCondition(prefix, message, condition, true); } } }