package org.fluentlenium.core.proxy; import org.assertj.core.api.Assertions; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.Mockito; import org.mockito.runners.MockitoJUnitRunner; import org.openqa.selenium.NoSuchElementException; import org.openqa.selenium.WebElement; import org.openqa.selenium.support.pagefactory.ElementLocator; import java.util.Arrays; import java.util.List; @RunWith(MockitoJUnitRunner.class) public class ProxyMessageTest { @Mock private WebElement element1; @Mock private WebElement element2; @Mock private WebElement element3; @Mock private ElementLocator locator; @Test public void testNoSuchElementMessage() { Mockito.when(locator.findElement()).thenReturn(element1); WebElement proxy = LocatorProxies.createWebElement(locator); LocatorProxies.now(proxy); NoSuchElementException noSuchElementException = LocatorProxies.noSuchElement(proxy); Assertions.assertThat(noSuchElementException).hasMessageStartingWith("Element locator (Lazy Element) is not present"); } @Test public void testNoSuchElementListMessage() { Mockito.when(locator.findElements()).thenReturn(Arrays.asList(element1, element2, element3)); List<WebElement> proxy = LocatorProxies.createWebElementList(locator); LocatorProxies.now(proxy); NoSuchElementException noSuchElementException = LocatorProxies.noSuchElement(proxy); Assertions.assertThat(noSuchElementException) .hasMessageStartingWith("Elements locator (Lazy Element List) is not present"); } }