-
- All Implemented Interfaces:
-
io.github.kakaocup.kakao.common.actions.BaseActions,io.github.kakaocup.kakao.common.assertions.BaseAssertions,io.github.kakaocup.kakao.intercept.Interceptable
public class KBaseView<T extends Object> implements BaseActions, BaseAssertions, Interceptable<ViewInteraction, ViewAssertion, ViewAction>
Base class for all Kakao views
This base class allows create new custom view with ease. All you have to do is to extend this class, implement all necessarily additional actions/assertions interfaces and override necessary constructors
-
-
Field Summary
Fields Modifier and Type Field Description private final ViewInteractionDelegateviewprivate Matcher<Root>root
-
Constructor Summary
Constructors Constructor Description KBaseView(Function1<ViewBuilder, Unit> function)Constructs view class with view interaction from given ViewBuilder KBaseView(Matcher<View> parent, Function1<ViewBuilder, Unit> function)Constructs view class with parent and view interaction from given ViewBuilder KBaseView(DataInteraction parent, Function1<ViewBuilder, Unit> function)Constructs view class with parent and view interaction from given ViewBuilder
-
Method Summary
Modifier and Type Method Description ViewInteractionDelegategetView()Matcher<Root>getRoot()UnitsetRoot(Matcher<Root> root)final Unitinvoke(Function1<T, Unit> function)Operator that allows usage of DSL style final Tperform(Function1<T, Unit> function)Infix function for invoking lambda on your viewSometimes instance of view is a result of a function or constructor. -
Methods inherited from class io.github.kakaocup.kakao.common.views.KBaseView
act, assert, click, doesNotExist, doubleClick, hasAnyTag, hasBackgroundColor, hasBackgroundColor, hasDescendant, hasNotDescendant, hasNotSibling, hasSibling, hasTag, inRoot, intercept, isClickable, isCompletelyAbove, isCompletelyBelow, isCompletelyDisplayed, isCompletelyLeftOf, isCompletelyRightOf, isDisabled, isDisplayed, isEnabled, isFocusable, isFocused, isGone, isInvisible, isNotClickable, isNotCompletelyDisplayed, isNotDisplayed, isNotFocusable, isNotFocused, isNotSelected, isSelected, isVisible, longClick, matches, notMatches, onFailure, pressImeAction, repeatUntil, reset, scrollTo -
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
-
Constructor Detail
-
KBaseView
KBaseView(Function1<ViewBuilder, Unit> function)
Constructs view class with view interaction from given ViewBuilder- Parameters:
function- ViewBuilder which will result in view's interaction
-
KBaseView
KBaseView(Matcher<View> parent, Function1<ViewBuilder, Unit> function)
Constructs view class with parent and view interaction from given ViewBuilder- Parameters:
parent- Matcher that will be used as parent in isDescendantOfA() matcherfunction- ViewBuilder which will result in view's interaction
-
KBaseView
KBaseView(DataInteraction parent, Function1<ViewBuilder, Unit> function)
Constructs view class with parent and view interaction from given ViewBuilder- Parameters:
parent- DataInteraction that will be used as parent to ViewBuilderfunction- ViewBuilder which will result in view's interaction
-
-
Method Detail
-
getView
ViewInteractionDelegate getView()
-
getRoot
Matcher<Root> getRoot()
-
invoke
final Unit invoke(Function1<T, Unit> function)
Operator that allows usage of DSL style
- Parameters:
function- Tail lambda with receiver which is your view
-
perform
final T perform(Function1<T, Unit> function)
Infix function for invoking lambda on your view
Sometimes instance of view is a result of a function or constructor. In this specific case you can't call invoke() since it will be considered as tail lambda of your fun/constructor. In such cases please use this function.
- Parameters:
function- Tail lambda with receiver which is your view
-
-
-
-