package integration; import com.codeborne.selenide.SelenideElement; import org.junit.Before; import org.junit.Ignore; import org.junit.Test; import static com.codeborne.selenide.Condition.*; import static com.codeborne.selenide.Configuration.fastSetValue; import static com.codeborne.selenide.Selenide.$; @Ignore // this test works on my machine, but fails on Jenkins. Need to investigate it. public class AutoCompleteTest extends IntegrationTest { @Before public void openTestPageWithAutocomplete() { openFile("autocomplete.html"); $("h4").shouldBe(empty); } @Test public void sendKeysTriggersKeyboardEvents() { waitUntilInputIsInitialized().sendKeys("javasc"); verifyAutocomplete(); } @Test public void setValueTriggersKeyboardEvents() { fastSetValue = false; waitUntilInputIsInitialized().setValue("javasc"); verifyAutocomplete(); } @Test public void fastSetValueTriggersKeyboardEvents() { fastSetValue = true; waitUntilInputIsInitialized().setValue("javasc"); verifyAutocomplete(); } private SelenideElement waitUntilInputIsInitialized() { return $("#tags").shouldHave(attribute("autocomplete", "off"), cssClass("ui-autocomplete-input")); } private void verifyAutocomplete() { $(".ui-autocomplete li").shouldHave(text("JavaScript")).click(); $("#anyButton").click(); $("h4").shouldHave(text("This is JavaScript!")); } }