package integration.customcommands;
import com.codeborne.selenide.commands.Commands;
import integration.IntegrationTest;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import static com.codeborne.selenide.Condition.visible;
import static integration.customcommands.MyFramework.*;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
public class CustomCommandsTest extends IntegrationTest {
@Before
public void setUpFramework() {
MyFramework.setUp();
tripleClickCounter.set(0);
quadrupleClickCounter.set(0);
}
@Test
public void userCanAddAnyCustomCommandsToSelenide() {
$_("#valid-image").tripleClick().tripleClick().tripleClick().click();
$_("#invalid-image").tripleClick().quadrupleClick();
assertTrue("Can also use standard Selenium methods", $_("#valid-image img").isDisplayed());
assertTrue("Can also use standard Selenide methods", $_("#invalid-image img").is(visible));
assertEquals(4, tripleClickCounter.get());
assertEquals(1, quadrupleClickCounter.get());
}
@Before
public void openTestPage() {
openFile("page_with_images.html");
}
@After
public void resetSelenideDefaultCommands() {
Commands.getInstance().resetDefaults();
}
}