interface in your project and create file "META-INF/services/com.haulmont.masquerade.config.ComponentConfig" in your classpath with FQN of your implementation. public class CustomComponentConfig implements ComponentConfig { @Override public Map<Class, Function<By, ?>> getComponents() { return ImmutableMap.of(Untyped.class, UntypedImpl::new); } } Implement it and you can override / add you own Components.
Matching in Java: https://github.com/johnlcox/motif How to add new condition / by: 1. Custom class that throws RuntimeException from findElements / apply 2. Extend SpecificCondition for custom conditions 3. Add public static method to Selectors / Conditions 4. Override apply method and add matches. See ButtonImpl for example:
GitHub. Apache License 2.0 Travis-CI builds and tests all the commits / branches / etc. Teamcity builds 1.0-SNAPSHOT versions only for internal use. Releases are published to internal Nexus and to public Bintray repo. It is recommended to use only stable releases with fixed version (x.y.z). Sources: https://github.com/cuba-platform/masquerade Changelog: https://github.com/cuba-platform/masquerade/blob/master/CHANG ELOG.md How to contribute: https://github.com/cuba-platform/masquerade/blob/master/CONTRI BUTING.md Travis-CI: https://travis-ci.org/cuba-platform/masquerade Bintray: https://bintray.com/cuba-platform/main/masquerade