package org.richfaces.tests.metamer.ftest.myPackage; import static org.testng.Assert.assertEquals; import org.jboss.arquillian.graphene.Graphene; import org.openqa.selenium.support.FindBy; import org.richfaces.tests.metamer.ftest.AbstractWebDriverTest; import org.richfaces.tests.metamer.ftest.extension.configurator.use.annotation.UseWithField; import org.richfaces.tests.metamer.ftest.extension.configurator.use.annotation.ValuesFrom; import org.richfaces.tests.metamer.ftest.webdriver.MetamerPage.WaitRequestType; //import org.testng.annotations.Test; /** * This class contains the code from metamer/TESTS.adoc guide. All tests are excluded so that they don't run with test suite. */ public class MyFirstTest extends AbstractWebDriverTest { @FindBy(css = "[id$=myComponentId]") private MyCustomPageFragment fragment; private String injectedText; @Override public String getComponentTestPagePath() { return "myComponent/sample1.xhtml"; } // @Test public void testClickButtonChangesInputText() { assertEquals(fragment.getInnerInputElement().getAttribute("value"), "some text"); Graphene.guardAjax(fragment.getInnerButtonElement()).click(); Graphene.waitAjax().until().element(fragment.getInnerInputElement()).value().equalToIgnoreCase("changed text"); } // @Test public void testComponentHasThreeElements() { assertEquals(fragment.getInnerElementsSize(), 3, "There should be 3 elements."); } // @Test public void testElementsTexts() { assertEquals(fragment.getInnerSpanElement().getText(), "some text in a span"); assertEquals(fragment.getInnerButtonElement().getAttribute("value"), "some button"); assertEquals(fragment.getInnerInputElement().getAttribute("value"), "some text"); } // @Test @UseWithField(field = "injectedText", value = { "text1", "text2", "text3" }, valuesFrom = ValuesFrom.STRINGS) public void testTypingSomeTextSendsAjax() { fragment.getInnerInputElement().clear(); fragment.getInnerInputElement().sendKeys(injectedText); getMetamerPage().blur(WaitRequestType.XHR); Graphene.waitAjax().until().element(fragment.getInnerInputElement()).value().equalToIgnoreCase(injectedText); } }