There was an error while loading. Please reload this page.
seleniumQuery supports plugins through the .as() function. Here's an example:
.as()
import io.github.seleniumquery.SeleniumQueryObject; import io.github.seleniumquery.functions.as.SeleniumQueryPlugin; import org.junit.After; import org.junit.Before; import org.junit.Test; import static infrastructure.IntegrationTestUtils.classNameToTestFileUrl; import static io.github.seleniumquery.SeleniumQuery.$; import static org.hamcrest.Matchers.is; import static org.junit.Assert.assertThat; public class SeleniumQueryPluginTest { @Before public void setUp() { $.driver().useHtmlUnit(); $.url("http://www.google.com"); } @After public void tearDown() { $.quit(); } @Test public void as_SIZER_plugin_example() { int theSize = $("div").as(Sizer.SIZER).gimmeTheSize(); assertThat(theSize, is(9999)); /* I don't know how many divs there are there, thus the '9999' just check and change this for the test to pass */ } } // the plugin class class Sizer { public static final SeleniumQueryPlugin<Sizer> SIZER = new SeleniumQueryPlugin<Sizer>() { @Override public Sizer as(SeleniumQueryObject seleniumQueryObject) { return new Sizer(seleniumQueryObject); } }; private SeleniumQueryObject seleniumQueryObject; public Sizer(SeleniumQueryObject seleniumQueryObject) { this.seleniumQueryObject = seleniumQueryObject; } public int gimmeTheSize() { return this.seleniumQueryObject.get().size(); } }